예제 #1
0
        public Zaduzenje NadjiZaduzenje(Clan c, KnjigaPrimerak kp)
        {
            try
            {
                Zaduzenje z = new Zaduzenje()
                {
                    Clan           = c,
                    KnjigaPrimerak = kp
                };
                TransferKlasa zahtev = new TransferKlasa()
                {
                    Operacija       = Operacija.NadjiZaduzenje,
                    TransferObjekat = z
                };
                formater.Serialize(tok, zahtev);
                TransferKlasa odgovor = formater.Deserialize(tok) as TransferKlasa;

                if (odgovor.Signal)
                {
                    return(odgovor.TransferObjekat as Zaduzenje);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Izgubljena je konekcija sa serverom! Zatvaram formu...");
                klijent.Close();
                glavnaForma.Povezan = false;
                glavnaForma.Zatvori();
                return(null);
            }
        }
        private void btnRazduzi_Click(object sender, EventArgs e)
        {
            Zaduzenje    z      = clan.ListaZaduzenja[dgvZaduzenja.SelectedCells[0].RowIndex];
            DialogResult dialog = MessageBox.Show("Da li ste sigurni da zelite da razduzite ovu knjigu?", "Provera", MessageBoxButtons.YesNo);

            if (dialog == DialogResult.Yes)
            {
                try
                {
                    if (Komunikacija.Instance.Razduzi(z))
                    {
                        MessageBox.Show("Uspesno razduzena knjiga!");
                        //spisakZaduzenja = new BindingList<Zaduzenje>(Kontroler.NadjiClana(clan.ClanskiBroj).ListaZaduzenja);
                        spisakZaduzenja = new BindingList <Zaduzenje>(Komunikacija.Instance.NadjiClana(clan.ClanskiBroj).ListaZaduzenja);

                        z.DatumDo = DateTime.Now.Date;
                        dgvZaduzenja.DataSource = spisakZaduzenja;
                    }
                    else
                    {
                        MessageBox.Show("Knjiga nije uspesno razduzena!");
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Desila se greska pri razduzivanju knjige!");
                }
            }
        }
예제 #3
0
        public Zaduzenje NadjiZaduzenje(Clan c, KnjigaPrimerak kp)
        {
            List <Zaduzenje> lista = new List <Zaduzenje>();

            komanda.CommandText = $"Select * from Zaduzenje where ClanskiBroj = {c.ClanskiBroj} and" +
                                  $" PrimerakID = {kp.PrimerakID} and KnjigaID = {kp.Knjiga.KnjigaID}" +
                                  $" and DatumDo is NULL";
            komanda.CommandType = System.Data.CommandType.Text;
            OleDbDataReader citac = komanda.ExecuteReader();

            while (citac.Read())
            {
                Zaduzenje zz = new Zaduzenje()
                {
                    Clan           = c,
                    KnjigaPrimerak = kp,
                    DatumOd        = Convert.ToDateTime(citac["DatumOd"].ToString())
                };
                lista.Add(zz);
            }
            if (lista.Count == 0)
            {
                return(null);
            }
            return(lista[0]);
        }
예제 #4
0
        public void sacuvajZaduzenje(TextBox txtSifra, TextBox txtUkIznos, DateTimePicker dtpZaduzenje, DateTimePicker dtpRazduzenje, DataGridView dgUnosStavke, ComboBox cmbClan)
        {
            Zaduzenje z = new Zaduzenje();

            z.ZaduzenjeID     = Convert.ToInt32(txtSifra.Text);
            z.UkIznos         = Convert.ToInt32(txtUkIznos.Text);
            z.DatumZaduzenja  = dtpZaduzenje.Value;
            z.DatumRazduzenja = dtpRazduzenje.Value;
            z.Zaduzen         = true;
            z.ClanID          = (cmbClan.SelectedItem as Clan).ClanID;

            for (int i = 0; i < dgUnosStavke.RowCount; i++)
            {
                if (dgUnosStavke[1, i].Value != null)
                {
                    StavkaZaduzenja sz = new StavkaZaduzenja();
                    sz.ZaduzenjeID = z.ZaduzenjeID;
                    sz.FilmID      = Convert.ToInt32(dgUnosStavke[1, i].Value);
                    sz.RBr         = Convert.ToInt32(dgUnosStavke[0, i].Value);
                    z.ListaStavki.Add(sz);
                }
            }


            int a = kal.sacuvajZaduzenje(z);

            if (a == 0)
            {
                MessageBox.Show("Neuspesan unos");
            }
            else
            {
                MessageBox.Show("Uspesno ste uneli zaduzenje");
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (txtClanskiBroj.Text == "" || txtBrojKnjige.Text == "" || txtBrojPrimerka.Text == "")
            {
                MessageBox.Show("Potrebno je da unesete clanski broj, broj knjige i broj primerka da bi se vrsila pretraga.", "Obavestenje");
                return;
            }
            Clan c = new Clan()
            {
                ClanskiBroj = Convert.ToInt32(txtClanskiBroj.Text)
            };
            Knjiga k = new Knjiga()
            {
                KnjigaID = Convert.ToInt32(txtBrojKnjige.Text)
            };
            KnjigaPrimerak kp = new KnjigaPrimerak()
            {
                PrimerakID = Convert.ToInt32(txtBrojPrimerka.Text),
                Knjiga     = k
            };

            try
            {
                zaduzenje = Komunikacija.Instance.NadjiZaduzenje(c, kp);

                txtDatum.Text = zaduzenje.DatumOd.ToShortDateString();
            }
            catch (Exception)
            {
                MessageBox.Show("Nije pronadjeno zaduzenje po unesenim vrednostima");
            }
        }
예제 #6
0
        public static void Razduzi(Zaduzenje z)
        {
            OpstaSistemskaOperacija razduzi = new RazduziSO();
            bool res = razduzi.IzvrsiSO(z);

            if (!res)
            {
                throw new Exception();
            }
        }
예제 #7
0
        public ActionResult SpasiIzmjenu_Z(Zaduzenje Podaci)
        {
            Zaduzenje Izmjenuti = CTX.Zaduzenja.Where(x => x.Id == Podaci.Id).FirstOrDefault();

            Izmjenuti.Naziv = Podaci.Naziv;

            CTX.SaveChanges();

            return(RedirectToAction("Index"));
        }
예제 #8
0
        public int razduzi(Zaduzenje z)
        {
            TransferKlasa transfer = new TransferKlasa();

            transfer.Operacija       = (int)Operacije.Razduzi;
            transfer.TransferObjekat = z;
            formater.Serialize(tok, transfer);
            transfer = formater.Deserialize(tok) as TransferKlasa;
            return((int)transfer.TransferObjekat);
        }
예제 #9
0
        public List <OpstiDomenskiObjekat> vratiZaduzenja(Zaduzenje z)
        {
            TransferKlasa transfer = new TransferKlasa();

            transfer.Operacija       = (int)Operacije.VratiZaduzenja;
            transfer.TransferObjekat = z;
            formater.Serialize(tok, transfer);
            transfer = formater.Deserialize(tok) as TransferKlasa;
            return(transfer.TransferObjekat as List <OpstiDomenskiObjekat>);
        }
 private void btnPretraga_Click(object sender, EventArgs e)
 {
     ZaduzenjeForme.PronadjiZaduzenje pz = new ZaduzenjeForme.PronadjiZaduzenje();
     pz.ShowDialog();
     if (pz.DialogResult == DialogResult.OK)
     {
         zaduzenje            = pz.Zaduzenje;
         txtBrojKnjige.Text   = zaduzenje.KnjigaPrimerak.Knjiga.KnjigaID.ToString();
         txtBrojPrimerka.Text = zaduzenje.KnjigaPrimerak.PrimerakID.ToString();
         txtClanskiBroj.Text  = zaduzenje.Clan.ClanskiBroj.ToString();
         txtDatum.Text        = zaduzenje.DatumOd.ToShortDateString();
     }
 }
예제 #11
0
        public void Zaduzi(Zaduzenje z)
        {
            komanda.CommandText = $"insert into Zaduzenje values({z.Clan.ClanskiBroj}, {z.KnjigaPrimerak.Knjiga.KnjigaID}, {z.KnjigaPrimerak.PrimerakID}, '{DateTime.Now.ToShortDateString()}', NULL)";
            komanda.CommandType = System.Data.CommandType.Text;
            komanda.ExecuteNonQuery();

            komanda.CommandText = $"update KnjigaPrimerak set Raspoloziva = false where KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID} and PrimerakID = {z.KnjigaPrimerak.PrimerakID}";
            komanda.CommandType = System.Data.CommandType.Text;
            komanda.ExecuteNonQuery();

            komanda.CommandText = $"Update Knjiga set Raspolozivo = {z.KnjigaPrimerak.Knjiga.Raspolozivo - 1} where KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID}";
            komanda.CommandType = System.Data.CommandType.Text;
            komanda.ExecuteNonQuery();
        }
예제 #12
0
        public void Razduzi(Zaduzenje z)
        {
            komanda.CommandText = $"Update Zaduzenje set DatumDo = '{DateTime.Now.ToString("dd-MMM-yyyy")}' where ClanskiBroj = {z.Clan.ClanskiBroj} and " +
                                  $"PrimerakID = {z.KnjigaPrimerak.PrimerakID} and KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID} and DatumOd = #{z.DatumOd.ToString("dd-MMM-yyyy")}#";
            komanda.CommandType = System.Data.CommandType.Text;
            komanda.ExecuteNonQuery();

            komanda.CommandText = $"Update KnjigaPrimerak set Raspoloziva = true where PrimerakID = {z.KnjigaPrimerak.PrimerakID}";
            komanda.CommandType = System.Data.CommandType.Text;
            komanda.ExecuteNonQuery();

            komanda.CommandText = $"Update Knjiga set Raspolozivo = {z.KnjigaPrimerak.Knjiga.Raspolozivo + 1} where KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID}";
            komanda.CommandType = System.Data.CommandType.Text;
            komanda.ExecuteNonQuery();
        }
예제 #13
0
        public static void Zaduzi(Zaduzenje z)
        {
            if (!z.KnjigaPrimerak.Raspoloziva)
            {
                throw new Exception();
            }

            OpstaSistemskaOperacija zaduzi = new ZaduziSO();
            bool res = zaduzi.IzvrsiSO(z);

            if (!res)
            {
                throw new Exception();
            }
        }
        private void dgvZaduzenja_SelectionChanged(object sender, EventArgs e)
        {
            if (dgvZaduzenja.SelectedCells.Count == 0)
            {
                btnRazduzi.Hide();
                return;
            }
            btnRazduzi.Show();
            btnRazduzi.Enabled = false;
            Zaduzenje z = clan.ListaZaduzenja[dgvZaduzenja.SelectedCells[0].RowIndex];

            if (z.DatumDo == null)
            {
                btnRazduzi.Enabled = true;
            }
        }
예제 #15
0
        public void razduzi(DataGridView dgPrikaz, ComboBox combo)
        {
            DataGridViewSelectedRowCollection red = dgPrikaz.SelectedRows;


            Zaduzenje z = new Zaduzenje();

            z.ZaduzenjeID     = Convert.ToInt32(red[0].Cells[0].Value);
            z.DatumZaduzenja  = Convert.ToDateTime(red[0].Cells[1].Value);
            z.DatumRazduzenja = Convert.ToDateTime(red[0].Cells[2].Value);
            z.UkIznos         = Convert.ToInt32(red[0].Cells[3].Value);
            z.ClanID          = (combo.SelectedItem as Clan).ClanID;
            z.Zaduzen         = false;
            kal.razduzi(z);

            popuniGridPrikaz(dgPrikaz, combo);
        }
 public static Zaduzenje NadjiZaduzenje(Clan c, KnjigaPrimerak kp)
 {
     try
     {
         Broker.Instanca.OtvoriKonekciju();
         Zaduzenje z = Broker.Instanca.NadjiZaduzenje(c, kp);
         return(z);
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         Broker.Instanca.ZatvoriKonekciju();
     }
 }
 public static void Razduzi(Zaduzenje z)
 {
     try
     {
         Broker.Instanca.OtvoriKonekciju();
         Broker.Instanca.PokreniTransakciju();
         Broker.Instanca.Razduzi(z);
         Broker.Instanca.Commit();
     }
     catch (Exception e)
     {
         Broker.Instanca.Rollback();
         throw e;
     }
     finally
     {
         Broker.Instanca.ZatvoriKonekciju();
     }
 }
예제 #18
0
        public static Zaduzenje NadjiZaduzenje(Clan c, KnjigaPrimerak kp)
        {
            Zaduzenje zahtev = new Zaduzenje()
            {
                Clan           = c,
                KnjigaPrimerak = kp
            };
            OpstaSistemskaOperacija nadjiZaduzenje = new NadjiZaduzenjeSO();
            bool rez = nadjiZaduzenje.IzvrsiSO(zahtev);

            if (rez)
            {
                return(nadjiZaduzenje.Rezultat as Zaduzenje);
            }
            else
            {
                throw new Exception();
            }
        }
예제 #19
0
        protected override bool Izvrsi(IOpstiDomenskiObjekat odo)
        {
            try
            {
                Zaduzenje zaduzenje = odo as Zaduzenje;

                string upit = $"Select * from Zaduzenje where ClanskiBroj = {zaduzenje.Clan.ClanskiBroj} and" +
                              $" PrimerakID = {zaduzenje.KnjigaPrimerak.PrimerakID} and KnjigaID = {zaduzenje.KnjigaPrimerak.Knjiga.KnjigaID}" +
                              $" and DatumDo is NULL";
                List <IOpstiDomenskiObjekat> listaZaduzenja = GenerickiBroker.Instanca.ExecuteReader(upit, zaduzenje);

                if (listaZaduzenja.Count == 0)
                {
                    return(false);
                }
                Zaduzenje z = listaZaduzenja[0] as Zaduzenje;

                upit = $"Select * from Clan where ClanskiBroj = {z.Clan.ClanskiBroj}";
                List <IOpstiDomenskiObjekat> listaClanova = GenerickiBroker.Instanca.ExecuteReader(upit, new Clan());
                if (listaClanova.Count == 0)
                {
                    return(false);
                }
                z.Clan = listaClanova[0] as Clan;

                upit = $"Select * from KnjigaPrimerak where PrimerakID = {z.KnjigaPrimerak.PrimerakID} and KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID}";
                List <IOpstiDomenskiObjekat> listaPrimeraka = GenerickiBroker.Instanca.ExecuteReader(upit, new KnjigaPrimerak());
                if (listaPrimeraka.Count == 0)
                {
                    return(false);
                }
                z.KnjigaPrimerak = listaPrimeraka[0] as KnjigaPrimerak;

                Rezultat = z;

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
예제 #20
0
        public ActionResult Spasi_Z(Zaduzenje Nova_Z)
        {
            bool Pronadjeno = false;

            foreach (Zaduzenje Z in CTX.Zaduzenja)
            {
                if (Z.Naziv == Nova_Z.Naziv)
                {
                    Pronadjeno = true;
                }
            }

            if (Pronadjeno == false)
            {
                CTX.Zaduzenja.Add(Nova_Z);
                CTX.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
        protected override bool Izvrsi(IOpstiDomenskiObjekat odo)
        {
            try
            {
                Zaduzenje z = odo as Zaduzenje;
                GenerickiBroker.Instanca.Insert(z);

                string upit = $"update KnjigaPrimerak set Raspoloziva = false where KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID} and PrimerakID = {z.KnjigaPrimerak.PrimerakID}";
                GenerickiBroker.Instanca.ExecuteNonQuery(upit);

                upit = $"Update Knjiga set Raspolozivo = {z.KnjigaPrimerak.Knjiga.Raspolozivo - 1} where KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID}";
                GenerickiBroker.Instanca.ExecuteNonQuery(upit);

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
예제 #22
0
        protected override object Izvrsi(OpstiDomenskiObjekat odo)
        {
            Zaduzenje z  = odo as Zaduzenje;
            int       br = 0;

            if (Broker.Broker.dajSesiju().ubaci(odo) != 0)
            {
                foreach (StavkaZaduzenja sz in z.ListaStavki)
                {
                    br += Broker.Broker.dajSesiju().ubaci(sz);
                }
            }

            if (br == z.ListaStavki.Count())
            {
                return(br);
            }
            else
            {
                return(0);
            }
        }
예제 #23
0
        public bool Razduzi(Zaduzenje z)
        {
            try
            {
                TransferKlasa zahtev = new TransferKlasa()
                {
                    TransferObjekat = z,
                    Operacija       = Operacija.Razduzi
                };
                formater.Serialize(tok, zahtev);
                TransferKlasa odgovor = formater.Deserialize(tok) as TransferKlasa;

                return(odgovor.Signal);
            }
            catch (Exception)
            {
                MessageBox.Show("Izgubljena je konekcija sa serverom! Zatvaram formu...");
                klijent.Close();
                glavnaForma.Zatvori();
                return(false);
            }
        }
예제 #24
0
        public void popuniGridPrikaz(DataGridView dgPrikaz, ComboBox kombo)
        {
            Zaduzenje z = new Zaduzenje();

            z.ClanID = (kombo.SelectedItem as Clan).ClanID;
            List <Zaduzenje> zaduzenja = kal.vratiZaduzenja(z).OfType <Zaduzenje>().ToList <Zaduzenje>();

            dgPrikaz.Rows.Clear();
            if (zaduzenja.Count > 0)
            {
                dgPrikaz.Rows.Add(zaduzenja.Count);
            }
            int i = 0;

            foreach (Zaduzenje za in zaduzenja)
            {
                dgPrikaz[0, i].Value = za.ZaduzenjeID;
                dgPrikaz[1, i].Value = za.DatumZaduzenja.ToShortDateString();
                dgPrikaz[2, i].Value = za.DatumRazduzenja.ToShortDateString();
                dgPrikaz[3, i].Value = za.UkIznos;
                i++;
            }
        }
 public static void Zaduzi(Zaduzenje z)
 {
     try
     {
         if (!z.KnjigaPrimerak.Raspoloziva)
         {
             throw new Exception();
         }
         Broker.Instanca.OtvoriKonekciju();
         Broker.Instanca.PokreniTransakciju();
         Broker.Instanca.Zaduzi(z);
         Broker.Instanca.Commit();
     }
     catch (Exception e)
     {
         Broker.Instanca.Rollback();
         throw e;
     }
     finally
     {
         Broker.Instanca.ZatvoriKonekciju();
     }
 }
        protected override bool Izvrsi(IOpstiDomenskiObjekat odo)
        {
            try
            {
                Zaduzenje z = odo as Zaduzenje;

                string upit = $"Update Zaduzenje set DatumDo = '{DateTime.Now.ToString("dd-MMM-yyyy")}' where ClanskiBroj = {z.Clan.ClanskiBroj} and " +
                              $"PrimerakID = {z.KnjigaPrimerak.PrimerakID} and KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID} and DatumOd = #{z.DatumOd.ToString("dd-MMM-yyyy")}#";
                GenerickiBroker.Instanca.ExecuteNonQuery(upit);

                upit = $"Update KnjigaPrimerak set Raspoloziva = true where PrimerakID = {z.KnjigaPrimerak.PrimerakID}";
                GenerickiBroker.Instanca.ExecuteNonQuery(upit);

                upit = $"Update Knjiga set Raspolozivo = {z.KnjigaPrimerak.Knjiga.Raspolozivo + 1} where KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID}";
                GenerickiBroker.Instanca.ExecuteNonQuery(upit);

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
예제 #27
0
        private void button2_Click(object sender, EventArgs e)
        {
            lblPoruka.Text = "";
            if (txtBrojPrimerka.Text == "" || txtBrojKnjige.Text == "" || txtClanskiBroj.Text == "")
            {
                lblPoruka.Text      = "Sva polja su obavezna!";
                lblPoruka.ForeColor = Color.Red;
                return;
            }

            try
            {
                Knjiga    k = Komunikacija.Instance.NadjiKnjigu(Convert.ToInt32(txtBrojKnjige.Text));
                Zaduzenje z = new Zaduzenje();
                if (clan == null)
                {
                    clan = Komunikacija.Instance.NadjiClana(Convert.ToInt32(txtClanskiBroj.Text));
                }
                if (primerak == null)
                {
                    foreach (KnjigaPrimerak kp in k.SpisakPrimeraka)
                    {
                        if (kp.PrimerakID == Convert.ToInt32(txtBrojPrimerka.Text))
                        {
                            primerak = kp;
                            break;
                        }
                    }
                }
                z.Clan           = clan;
                primerak.Knjiga  = k;
                z.KnjigaPrimerak = primerak;


                if (z.KnjigaPrimerak == null || z.Clan == null)
                {
                    lblPoruka.Text      = "Nije moguce kreirati zaduzenje prema unetim podacima.";
                    lblPoruka.ForeColor = Color.Red;
                    return;
                }
                if (z.KnjigaPrimerak.Raspoloziva == false)
                {
                    lblPoruka.Text      = "Ovaj primerak nije raspoloziv!";
                    lblPoruka.ForeColor = Color.Red;
                    return;
                }
                DialogResult dialog = MessageBox.Show("Da li ste sigurni da zelite da zaduzite knjigu?", "Provera", MessageBoxButtons.YesNo);
                if (dialog == DialogResult.Yes)
                {
                    //Kontroler.Zaduzi(z);
                    if (Komunikacija.Instance.Zaduzi(z))
                    {
                        lblPoruka.Text       = "Sacuvano zaduzenje.";
                        primerak.Raspoloziva = false;
                        lblPoruka.ForeColor  = Color.Green;
                        OsveziFormu();
                    }
                    else
                    {
                        lblPoruka.Text      = "Nije uspesno zaduzeno.";
                        lblPoruka.ForeColor = Color.Red;
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Desila se greska!");
            }
        }
        private void ObradaZahteva(Socket klijentSoket)
        {
            NetworkStream tok  = new NetworkStream(klijentSoket);
            bool          kraj = false;

            while (!kraj)
            {
                TransferKlasa zahtevKlijenta = formater.Deserialize(tok) as TransferKlasa;
                TransferKlasa odgovor        = new TransferKlasa();
                switch (zahtevKlijenta.Operacija)
                {
                //1
                case Operacija.Login:
                    try
                    {
                        Bibliotekar b = zahtevKlijenta.TransferObjekat as Bibliotekar;
                        odgovor.TransferObjekat = Kontroler.Login(b.KorisnickoIme, b.Lozinka);
                        odgovor.Signal          = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //2
                case Operacija.VratiSveClanove:
                    try
                    {
                        List <Clan> listaClanova = Kontroler.VratiSveClanove();
                        odgovor.TransferObjekat = listaClanova;
                        odgovor.Signal          = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //3
                case Operacija.VratiSveKnjige:
                    try
                    {
                        List <Knjiga> listaKnjiga = Kontroler.VratiSveKnjige();
                        odgovor.TransferObjekat = listaKnjiga;
                        odgovor.Signal          = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //4
                case Operacija.VratiSveAutore:
                    try
                    {
                        List <Autor> listaAutora = Kontroler.VratiSveAutore();
                        odgovor.TransferObjekat = listaAutora;
                        odgovor.Signal          = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //5
                case Operacija.SacuvajIzmeneKnjiga:
                    try
                    {
                        Kontroler.SacuvajIzmeneKnjiga(zahtevKlijenta.TransferObjekat as Knjiga);
                        odgovor.Signal = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //6
                case Operacija.DajPrimerakID:
                    try
                    {
                        int id = Kontroler.DajPrimerakID();
                        odgovor.TransferObjekat = id;
                        odgovor.Signal          = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //7
                case Operacija.UbaciKnjigu:
                    try
                    {
                        int id = Kontroler.UbaciKnjigu(zahtevKlijenta.TransferObjekat as Knjiga);
                        odgovor.TransferObjekat = id;
                        odgovor.Signal          = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //8
                case Operacija.PretraziKnjige:
                    try
                    {
                        Pretraga      p           = zahtevKlijenta.TransferObjekat as Pretraga;
                        List <Knjiga> listaKnjiga = Kontroler.PretraziKnjige(p.Vrednost, p.KriterijumPretrage);
                        odgovor.TransferObjekat = listaKnjiga;
                        odgovor.Signal          = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //9
                case Operacija.NadjiKnjigu:
                    try
                    {
                        Knjiga k = Kontroler.NadjiKnjigu((int)zahtevKlijenta.TransferObjekat);
                        odgovor.TransferObjekat = k;
                        odgovor.Signal          = true;
                    }
                    catch (Exception)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //10
                case Operacija.ObrisiKnjigu:
                    try
                    {
                        Kontroler.ObrisiKnjigu(zahtevKlijenta.TransferObjekat as Knjiga);
                        odgovor.Signal = true;
                    }
                    catch (Exception)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //11
                case Operacija.SacuvajIzmeneClan:
                    try
                    {
                        Kontroler.SacuvajIzmeneClan(zahtevKlijenta.TransferObjekat as Clan);
                        odgovor.Signal = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //12
                case Operacija.UbaciClana:
                    try
                    {
                        int cb = Kontroler.UbaciClana(zahtevKlijenta.TransferObjekat as Clan);
                        odgovor.TransferObjekat = cb;
                        odgovor.Signal          = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //13
                case Operacija.PretraziClanove:
                    try
                    {
                        Pretraga    p            = zahtevKlijenta.TransferObjekat as Pretraga;
                        List <Clan> listaClanova = Kontroler.PretraziClanove(p.Vrednost, p.KriterijumPretrage);
                        odgovor.TransferObjekat = listaClanova;
                        odgovor.Signal          = true;
                    }
                    catch (Exception e)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //14
                case Operacija.NadjiClana:
                    try
                    {
                        Clan c = Kontroler.NadjiClana((int)zahtevKlijenta.TransferObjekat);
                        odgovor.TransferObjekat = c;
                        odgovor.Signal          = true;
                    }
                    catch (Exception)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //15
                case Operacija.ObrisiClana:
                    try
                    {
                        Kontroler.ObrisiClana(zahtevKlijenta.TransferObjekat as Clan);
                        odgovor.Signal = true;
                    }
                    catch (Exception)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //16
                case Operacija.Zaduzi:
                    try
                    {
                        Kontroler.Zaduzi(zahtevKlijenta.TransferObjekat as Zaduzenje);
                        odgovor.Signal = true;
                    }
                    catch (Exception)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //17
                case Operacija.Razduzi:
                    try
                    {
                        Kontroler.Razduzi(zahtevKlijenta.TransferObjekat as Zaduzenje);
                        odgovor.Signal = true;
                    }
                    catch (Exception)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //18
                case Operacija.NadjiZaduzenje:
                    try
                    {
                        Zaduzenje zahtev = zahtevKlijenta.TransferObjekat as Zaduzenje;
                        Zaduzenje odg    = Kontroler.NadjiZaduzenje(zahtev.Clan, zahtev.KnjigaPrimerak);
                        odgovor.TransferObjekat = odg;
                        odgovor.Signal          = true;
                    }
                    catch (Exception)
                    {
                        odgovor.Signal = false;
                    }
                    formater.Serialize(tok, odgovor);
                    break;

                //19
                case Operacija.Kraj:
                    Console.WriteLine("Klijent je prekinuo vezu!");
                    kraj = true;
                    klijentSoket.Shutdown(SocketShutdown.Both);
                    klijentSoket.Close();
                    break;
                }
            }
        }
예제 #29
0
        protected override bool Izvrsi(IOpstiDomenskiObjekat odo)
        {
            try
            {
                string upit = "";

                switch (Pretraga.KriterijumPretrage)
                {
                case KriterijumPretrage.ImePrezimeClan:
                    upit = $"Select * from Clan where ImePrezime like '%{Pretraga.Vrednost}%' order by ImePrezime";
                    break;

                case KriterijumPretrage.ClanskiBroj:
                    upit = $"Select * from Clan where ClanskiBroj = {Convert.ToInt32(Pretraga.Vrednost)} order by ImePrezime";
                    break;
                }

                List <IOpstiDomenskiObjekat> listaPronadjeniClanovi = GenerickiBroker.Instanca.ExecuteReader(upit, odo);

                foreach (IOpstiDomenskiObjekat o in listaPronadjeniClanovi)
                {
                    Clan c = o as Clan;
                    upit = $"Select * from Zaduzenje where ClanskiBroj = {c.ClanskiBroj}";

                    List <IOpstiDomenskiObjekat> listaZaduzenja = GenerickiBroker.Instanca.ExecuteReader(upit, new Zaduzenje());

                    foreach (IOpstiDomenskiObjekat zaduzenje in listaZaduzenja)
                    {
                        Zaduzenje z = zaduzenje as Zaduzenje;
                        z.Clan = c;

                        upit = $"Select * from KnjigaPrimerak where PrimerakID = {z.KnjigaPrimerak.PrimerakID} and KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID}";
                        List <IOpstiDomenskiObjekat> listaPrimeraka = GenerickiBroker.Instanca.ExecuteReader(upit, new KnjigaPrimerak());

                        foreach (IOpstiDomenskiObjekat prim in listaPrimeraka)
                        {
                            KnjigaPrimerak kp = prim as KnjigaPrimerak;

                            upit = $"Select * from Knjiga where KnjigaID = {kp.Knjiga.KnjigaID}";
                            List <IOpstiDomenskiObjekat> knjiga = GenerickiBroker.Instanca.ExecuteReader(upit, kp.Knjiga);
                            kp.Knjiga = knjiga[0] as Knjiga;

                            upit = $"Select * from KnjigaPrimerak where KnjigaID = {kp.Knjiga.KnjigaID}";
                            List <IOpstiDomenskiObjekat> listaPrimerakaKnjiga = GenerickiBroker.Instanca.ExecuteReader(upit, new KnjigaPrimerak());

                            foreach (IOpstiDomenskiObjekat lp in listaPrimerakaKnjiga)
                            {
                                kp.Knjiga.SpisakPrimeraka.Add(lp as KnjigaPrimerak);
                            }

                            upit = $"Select * from KnjigaAutor where KnjigaID = {kp.Knjiga.KnjigaID}";
                            List <IOpstiDomenskiObjekat> listaKnjigaAutor = GenerickiBroker.Instanca.ExecuteReader(upit, new KnjigaAutor());

                            foreach (IOpstiDomenskiObjekat ka in listaKnjigaAutor)
                            {
                                KnjigaAutor kaa = ka as KnjigaAutor;

                                upit = $"Select * from Autor where AutorID = {kaa.AutorID}";

                                List <IOpstiDomenskiObjekat> autor = GenerickiBroker.Instanca.ExecuteReader(upit, new Autor());
                                kp.Knjiga.ListaAutora.Add(autor[0] as Autor);
                            }

                            z.KnjigaPrimerak = kp;
                        }

                        c.ListaZaduzenja.Add(z);
                    }
                }

                Rezultat = listaPronadjeniClanovi;

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        protected override bool Izvrsi(IOpstiDomenskiObjekat odo)
        {
            try
            {
                Clan   clan = odo as Clan;
                string upit = $"Select * from Clan where ClanskiBroj = {clan.ClanskiBroj}";

                List <IOpstiDomenskiObjekat> clanovi = GenerickiBroker.Instanca.ExecuteReader(upit, odo);

                if (clanovi.Count == 0)
                {
                    return(false);
                }
                //foreach (IOpstiDomenskiObjekat o in clanovi)
                //{
                Clan c = clanovi[0] as Clan;
                upit = $"Select * from Zaduzenje where ClanskiBroj = {c.ClanskiBroj}";

                List <IOpstiDomenskiObjekat> listaZaduzenja = GenerickiBroker.Instanca.ExecuteReader(upit, new Zaduzenje());

                foreach (IOpstiDomenskiObjekat zaduzenje in listaZaduzenja)
                {
                    Zaduzenje z = zaduzenje as Zaduzenje;
                    z.Clan = c;

                    upit = $"Select * from KnjigaPrimerak where PrimerakID = {z.KnjigaPrimerak.PrimerakID} and KnjigaID = {z.KnjigaPrimerak.Knjiga.KnjigaID}";
                    List <IOpstiDomenskiObjekat> listaPrimeraka = GenerickiBroker.Instanca.ExecuteReader(upit, new KnjigaPrimerak());

                    foreach (IOpstiDomenskiObjekat prim in listaPrimeraka)
                    {
                        KnjigaPrimerak kp = prim as KnjigaPrimerak;

                        upit = $"Select * from Knjiga where KnjigaID = {kp.Knjiga.KnjigaID}";
                        List <IOpstiDomenskiObjekat> knjiga = GenerickiBroker.Instanca.ExecuteReader(upit, kp.Knjiga);
                        kp.Knjiga = knjiga[0] as Knjiga;

                        upit = $"Select * from KnjigaPrimerak where KnjigaID = {kp.Knjiga.KnjigaID}";
                        List <IOpstiDomenskiObjekat> listaPrimerakaKnjiga = GenerickiBroker.Instanca.ExecuteReader(upit, new KnjigaPrimerak());

                        foreach (IOpstiDomenskiObjekat lp in listaPrimerakaKnjiga)
                        {
                            kp.Knjiga.SpisakPrimeraka.Add(lp as KnjigaPrimerak);
                        }

                        upit = $"Select * from KnjigaAutor where KnjigaID = {kp.Knjiga.KnjigaID}";
                        List <IOpstiDomenskiObjekat> listaKnjigaAutor = GenerickiBroker.Instanca.ExecuteReader(upit, new KnjigaAutor());

                        foreach (IOpstiDomenskiObjekat ka in listaKnjigaAutor)
                        {
                            KnjigaAutor kaa = ka as KnjigaAutor;

                            upit = $"Select * from Autor where AutorID = {kaa.AutorID}";

                            List <IOpstiDomenskiObjekat> autor = GenerickiBroker.Instanca.ExecuteReader(upit, new Autor());
                            kp.Knjiga.ListaAutora.Add(autor[0] as Autor);
                        }

                        z.KnjigaPrimerak = kp;
                    }

                    c.ListaZaduzenja.Add(z);
                }

                //}

                Rezultat = c;

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }