示例#1
0
        private void btncreateFarmaceut_Click(object sender, EventArgs e)
        {
            try
            {
                ISession      s = DataLayer.GetSession();
                ProdajnoMesto p = s.Load <ProdajnoMesto>(1);
                Farmaceut     f = new Farmaceut();
                f.adresaZaposlenog = "Pantelejska";
                f.brojTelefona     = "+38164";
                f.datumRodjenja    = DateTime.Now;
                f.ime                = "AN";
                f.maticniBroj        = "11111";
                f.prezime            = "Pr";
                f.radi               = p;
                f.datumObnoveLicence = DateTime.Now;
                f.datumDiplomiranja  = DateTime.Now;

                s.Save(f);
                s.Flush();
                s.Close();
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#2
0
        public int UpdateProdajnoMesto(int id, ProdajnoMesto p)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                ProdajnoMesto pp = s.Get <ProdajnoMesto>(id);
                pp.adresaProdajnogMesta = p.adresaProdajnogMesta;
                pp.mestoProdajnogMesta  = p.mestoProdajnogMesta;
                pp.nazivProdajnogMesta  = p.nazivProdajnogMesta;
                pp.idProdajnogMesta     = id;


                s.SaveOrUpdate(pp);

                s.Flush();
                s.Close();

                return(1);
            }
            catch (Exception ec)
            {
                return(-1);
            }
        }
示例#3
0
        private void FillPrescriptionArgs(ProdajnoMesto prodajnoMesto)
        {
            prodajnoMesto.Naziv    = textBoxNaziv.Text;
            prodajnoMesto.Lokacija = new Lokacija {
                Adresa = textBoxAdresa.Text, Mesto = textBoxMesto.Text
            };

            if (comboBoxApotekarskaUstanova.Text != "")
            {
                var id = int.Parse(((DataRowView)comboBoxApotekarskaUstanova.SelectedItem)["Id"].ToString());
                prodajnoMesto.ApotekarskaUstanova = ServiceProvider.Get <ApotekarskaUstanovaService>().Get(id);
            }

            if (listBoxZaposleni.SelectedItem != null)
            {
                prodajnoMesto.ZaposleniList = _parent.GetSelectedEntities(listBoxZaposleni)?
                                              .Select(ServiceProvider.Get <ZaposleniService>().Get).ToList();
            }


            if (listBoxLekovi.SelectedItem != null)
            {
                prodajnoMesto.LekList = _parent.GetSelectedEntities(listBoxLekovi)?
                                        .Select(ServiceProvider.Get <LekService>().Get).ToList();
            }

            if (listBoxRecepti.SelectedItem != null)
            {
                prodajnoMesto.ReceptList = _parent.GetSelectedEntities(listBoxRecepti)?
                                           .Select(ServiceProvider.Get <ReceptService>().Get).ToList();
            }
        }
示例#4
0
        private void btnManyToMany_Click(object sender, EventArgs e)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                Lek l1 = s.Load <Lek>("ERITROMICIN");

                foreach (ProdajnoMesto pm1 in l1.listaProdajnihMesta)
                {
                    MessageBox.Show(pm1.nazivProdajnogMesta + " " + pm1.listaProdaja.ElementAt(0).kolicinaLeka);
                }

                ProdajnoMesto pm2 = s.Load <ProdajnoMesto>(1);

                foreach (Lek l2 in pm2.listaLekova)
                {
                    MessageBox.Show(l2.komercijalniNaziv + " ");
                }


                s.Close();
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#5
0
        public AddDrugStoreForm(MainForm parent, ProdajnoMesto prodajnoMesto = null, bool add = true, bool details = false)
        {
            InitializeComponent();
            _parent       = parent;
            ProdajnoMesto = prodajnoMesto;
            Add           = add;

            comboBoxApotekarskaUstanova.DataSource = ServiceProvider.Get <ApotekarskaUstanovaService>().GetDataTable();
            listBoxZaposleni.DataSource            = ServiceProvider.Get <ZaposleniService>().GetDataTable();
            listBoxLekovi.DataSource  = ServiceProvider.Get <LekService>().GetDataTable();
            listBoxRecepti.DataSource = ServiceProvider.Get <ReceptService>().GetDataTable();

            comboBoxApotekarskaUstanova.DisplayMember = Constants.ConcatenatedField;
            listBoxZaposleni.DisplayMember            = Constants.ConcatenatedField;
            listBoxLekovi.DisplayMember  = Constants.ConcatenatedField;
            listBoxRecepti.DisplayMember = Constants.ConcatenatedField;

            if (Add)
            {
                return;
            }

            if (ProdajnoMesto == null)
            {
                throw new Exception("ProdajnoMesto == null");
            }

            buttonAdd.Text     = @"Sacuvaj promene";
            textBoxNaziv.Text  = ProdajnoMesto.Naziv;
            textBoxAdresa.Text = ProdajnoMesto?.Lokacija?.Adresa;
            textBoxMesto.Text  = ProdajnoMesto?.Lokacija?.Mesto;
            comboBoxApotekarskaUstanova.Text = ProdajnoMesto.ApotekarskaUstanova.Id + @" : " +
                                               ProdajnoMesto.ApotekarskaUstanova.Naziv;

            var ids = (from Entity x in ProdajnoMesto.ZaposleniList select x.Id).ToList();

            _parent.FillDefault(listBoxZaposleni, ids);

            ids = (from Entity x in ProdajnoMesto.LekList select x.Id).ToList();
            _parent.FillDefault(listBoxLekovi, ids);

            ids = (from Entity x in ProdajnoMesto.ReceptList select x.Id).ToList();
            _parent.FillDefault(listBoxRecepti, ids);

            if (!details)
            {
                return;
            }

            _parent.DisableAll(this);
            tableLayoutPanel1.Controls.Remove(buttonAdd);
            labelSubject.Text = @"Detaljne informacije";
        }
示例#6
0
        public ProdajnoMestoView GetProdajnoMestoView(int i)
        {
            ISession      s = DataLayer.GetSession();
            ProdajnoMesto p = s.Query <ProdajnoMesto>()
                              .Where(pp => pp.idProdajnogMesta == i).Select(ss => ss).FirstOrDefault();

            if (p == null)
            {
                return(new ProdajnoMestoView());
            }
            return(new ProdajnoMestoView(p));
        }
 // POST api/ProdajnoMesto
 public bool Post([FromBody] ProdajnoMesto obj)
 {
     try
     {
         ServiceProvider.Get <ProdajnoMestoService>().Create(obj);
         return(true);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         return(false);
     }
 }
示例#8
0
        public static ReceptRealizacija ReceptRealizuje(ReceptRealizacija rr)
        {
            try
            {
                //ucitaj lek za koji se realizuje
                //prodajnomesto na kome se realizuje
                //farmaceut koji ga realizuje
                ISession  s = DataLayer.GetSession();
                Zaposleni z = s.Get <Zaposleni>(rr.farmaceut.id);


                Recept r = new Recept();

                r.tip              = rr.tip;
                r.oblikPakovanja   = rr.oblikPakovanja;
                r.datumRealizacije = rr.datumRealizacije;
                r.datumIzdavanja   = rr.datumIzdavanja;
                //r.datumIzdavanja = new DateTime(2012, 12, 12);
                //r.datumRealizacije = new DateTime(2012, 12, 12);
                r.kolicinaLeka = rr.kolicinaLeka;
                r.idLekara     = rr.idLekara;

                Lek l = s.Load <Lek>(rr.lek.naziv);
                r.zaLek = l;

                r.idZaposlenog = z;

                ProdajnoMesto p = s.Get <ProdajnoMesto>(rr.prodajnoMesto.id);
                r.idProdajnogMesta = p;

                s.SaveOrUpdate(r);

                l.listRecepata.Add(r);
                p.listaIzdatihRecepata.Add(r);
                z.listaIzdatihRecepata.Add(r);

                s.SaveOrUpdate(l);
                s.SaveOrUpdate(p);
                s.SaveOrUpdate(z);

                s.Close();
            }
            catch (Exception e)
            {
            }
            return(rr);
        }
示例#9
0
        private void button5_Click(object sender, EventArgs e)
        {
            try
            {
                ISession sd = DataLayer.GetSession();

                Zaposleni z = sd.Load <Zaposleni>(1);
                MessageBox.Show(z.idZaposlenog + " " + z.ime);
                Recept r1 = new Recept()
                {
                    //serijskiBroj = 1584,
                    tip              = "Proba2",
                    datumIzdavanja   = new DateTime(2012, 12, 12),
                    datumRealizacije = new DateTime(2012, 12, 12),
                    oblikPakovanja   = "TABLETA",
                    kolicinaLeka     = 1,
                    idLekara         = 1
                };

                Lek l = sd.Load <Lek>("ERITROMICIN");
                r1.zaLek = l;

                r1.idZaposlenog = z;

                ProdajnoMesto pr = sd.Load <ProdajnoMesto>(1);
                r1.idProdajnogMesta = pr;

                sd.SaveOrUpdate(r1);

                l.listRecepata.Add(r1);
                pr.listaIzdatihRecepata.Add(r1);
                z.listaIzdatihRecepata.Add(r1);

                zaposleniRecepti_Click(sender, e);

                sd.SaveOrUpdate(l);
                sd.SaveOrUpdate(pr);
                sd.SaveOrUpdate(z);

                sd.Close();
            }

            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#10
0
        public int AddProdajnoMesto(ProdajnoMesto p)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                s.Save(p);

                s.Flush();
                s.Close();

                return(1);
            }
            catch (Exception ec)
            {
                return(-1);
            }
        }
示例#11
0
        public int RemoveProdajnoMesto(int i)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                ProdajnoMesto p = s.Get <ProdajnoMesto>(i);

                s.Delete(p);
                s.Flush();
                s.Close();

                return(1);
            }
            catch (Exception ec)
            {
                return(-1);
            }
        }
示例#12
0
        public void Transport(ProdajnoMesto mesto, Dictionary <int, int> zahtev, Radnik nadzornik)
        {
            int           kolicina     = 0;
            StringBuilder message      = new StringBuilder($"Transport: Naziv fabrike: [{Naziv}], Naziv odredista: [{mesto.Naziv}], Nadzornik: [{nadzornik.Ime}], proizvodi: ");
            StringBuilder imeProizvoda = new StringBuilder();

            foreach (KeyValuePair <int, int> item in zahtev)
            {
                while (kolicina < item.Value)
                {
                    if (listaProizvoda.FirstOrDefault(p => p.Id == item.Key) != null)
                    {
                        mesto.ListaProizvoda.Add(listaProizvoda.Find(p => p.Id == item.Key));
                        if (!imeProizvoda.Equals(listaProizvoda.Find(p => p.Id == item.Key).Naziv))
                        {
                            imeProizvoda.Clear();
                            imeProizvoda.Append(listaProizvoda.Find(p => p.Id == item.Key).Naziv);
                        }
                        var removeItem = listaProizvoda.First(p => p.Id == item.Key);
                        listaProizvoda.Remove(removeItem);
                        kolicina++;
                    }
                    else
                    {
                        Console.WriteLine($"Nema vise proizvoda sa Id od {item.Key}");
                        break;
                    }
                }
                if (kolicina != 0)
                {
                    message.Append($"[{kolicina}] x [{imeProizvoda.ToString()}], ");
                }
                kolicina = 0;
            }
            if (imeProizvoda.Length > 0)
            {
                Log      logger = new Log();
                DateTime time   = DateTime.Now;
                logger.LogAction(time, "TransportLog", message.ToString());
            }
        }
示例#13
0
        public static void updateKolicinuLeka(ProdajnoMestoPregled pmp, LekPregled lp, int kolicina)
        {
            try
            {
                //za dati lek -lp-   smanjiti u tabeli "prodaje" kolicunu leka   na prodajnom mestu  -pmp-
                ISession      s  = DataLayer.GetSession();
                Lek           l  = s.Get <Lek>(lp.naziv);
                ProdajnoMesto pm = s.Get <ProdajnoMesto>(pmp.id);
                Prodaje       x  = s.Load <Prodaje>(new ProdajeId()
                {
                    idLeka = l, idProdajnogMesta = pm
                });

                x.kolicinaLeka -= kolicina;
                s.Update(x);
                s.Flush();

                s.Close();
            }
            catch
            {
            }
        }
示例#14
0
        // public virtual IList<ReceptView> listaIzdatihRecepata { get; set; }
        public ProdajnoMestoView(ProdajnoMesto m)
        {
            this.idProdajnogMesta     = m.idProdajnogMesta;
            this.nazivProdajnogMesta  = m.nazivProdajnogMesta;
            this.mestoProdajnogMesta  = m.mestoProdajnogMesta;
            this.adresaProdajnogMesta = m.adresaProdajnogMesta;


            this.listaLekova = new List <LekView>();
            foreach (Lek l in m.listaLekova)
            {
                listaLekova.Add(new LekView(l));
            }

            /*this.listaIzdatihRecepata = new List<ReceptView>();
             * foreach (Recept l in m.listaIzdatihRecepata)
             *  this.listaIzdatihRecepata.Add(new ReceptView(l));*/


            /*  this.listaZaposlenih = new List<ZaposleniView>();
             * foreach (Zaposleni l in m.listaZaposlenih)
             *  this.listaZaposlenih.Add(new ZaposleniView(l));*/
        }
示例#15
0
        private void button4_Click(object sender, EventArgs e)
        {
            try
            {
                ISession sd = DataLayer.GetSession();

                ProdajnoMesto p  = sd.Load <ProdajnoMesto>(4);
                Lek           l  = sd.Load <Lek>("ERITROMICIN");//nema ga u bazi ako se pokrece iz pocetka
                Prodaje       pr = new Prodaje();
                pr.id.idLeka           = l;
                pr.id.idProdajnogMesta = p;
                pr.kolicinaLeka        = 200;
                sd.Save(pr);
                sd.Flush();

                sd.Close();
            }

            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#16
0
        public void Kupi(ProdajnoMesto mesto, int proizvod, NacinPlacanja nacinPlacanja)
        {
            Proizvod trazenProizvod = mesto.ListaProizvoda.FirstOrDefault(p => p.Id == proizvod);

            if (trazenProizvod != null && trazenProizvod.Cena <= Dzeparac)
            {
                string message = $"Kupljen proizvod: Proizvod ID: [{proizvod}], Naziv mesta: [{mesto.Naziv}], Ime zaposlenog prodavca: [{mesto.ListaZaposlenih.FirstOrDefault(r => r.Zaduzenje == "prodavac").Ime}], Nacin placanja: [{nacinPlacanja.ToString()}], Ime kupca: [{Ime}]";

                Korpa.Add(trazenProizvod);
                Dzeparac -= trazenProizvod.Cena;
                mesto.ListaProizvoda.Remove(trazenProizvod);
                Log      logger = new Log();
                DateTime time   = DateTime.Now;
                logger.LogAction(time, "KupovinaLog", message);
            }
            else if (trazenProizvod == null)
            {
                Console.WriteLine("Proizvod trenutno nije dostupan u prodavnici.");
            }
            else
            {
                Console.WriteLine("Nemate dovoljno sredstava.");
            }
        }
示例#17
0
        private void AddNewPrescription(object sender, EventArgs e)
        {
            var dialogResult = MessageBox.Show(Constants.CheckMessageBoxText, Constants.CheckMessageBoxText,
                                               MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.No)
            {
                return;
            }

            if (Add)
            {
                var obj = new ProdajnoMesto();
                FillPrescriptionArgs(obj);
                ServiceProvider.Get <ProdajnoMestoService>().Create(obj);
            }
            else
            {
                FillPrescriptionArgs(ProdajnoMesto);
                ServiceProvider.Get <ProdajnoMestoService>().Update(ProdajnoMesto);
            }
            _parent.UpdateDrugStoreGrid();
            Dispose();
        }
示例#18
0
        public static List <LekPregled> lekoviInfo(int idprodajnogmesta)
        {
            List <LekPregled> lekInfo = new List <LekPregled>();

            //ovde i kolicina leka za idProdajnogMesta i dati Lek
            try
            {
                ISession s = DataLayer.GetSession();

                /*IList<Lek> lekovi = s.QueryOver<Lek>().Inner.JoinQueryOver<ProdajnoMesto>(x=>x.listaProdajnihMesta)
                 *                                                      .Where(y => y.idProdajnogMesta == idprodajnogmesta)
                 *                                                      .List<Lek>();*/
                ProdajnoMesto pm = s.Get <ProdajnoMesto>(idprodajnogmesta);

                foreach (Lek l in pm.listaLekova)
                {
                    if (l.GetType() == typeof(Entiteti.Antibiotik))
                    {
                        Prodaje x = s.Load <Prodaje>(new ProdajeId()
                        {
                            idLeka = l, idProdajnogMesta = pm
                        });

                        lekInfo.Add(new LekPregled(l.komercijalniNaziv, l.cenaLeka, l.izdavanjeNaRecept, "ANTIBIOTIK")
                        {
                            kolicina = x.kolicinaLeka
                        });
                    }
                    else if (l.GetType() == typeof(Entiteti.Analgetik))
                    {
                        Prodaje x = s.Load <Prodaje>(new ProdajeId()
                        {
                            idLeka = l, idProdajnogMesta = pm
                        });
                        lekInfo.Add(new LekPregled(l.komercijalniNaziv, l.cenaLeka, l.izdavanjeNaRecept, "ANALGETIK")
                        {
                            kolicina = x.kolicinaLeka
                        });
                    }
                    else if (l.GetType() == typeof(Entiteti.Antipiretik))
                    {
                        Prodaje x = s.Load <Prodaje>(new ProdajeId()
                        {
                            idLeka = l, idProdajnogMesta = pm
                        });
                        lekInfo.Add(new LekPregled(l.komercijalniNaziv, l.cenaLeka, l.izdavanjeNaRecept, "ANTIPIRETIK")
                        {
                            kolicina = x.kolicinaLeka
                        });
                    }
                    else
                    {
                        Prodaje x = s.Load <Prodaje>(new ProdajeId()
                        {
                            idLeka = l, idProdajnogMesta = pm
                        });
                        lekInfo.Add(new LekPregled(l.komercijalniNaziv, l.cenaLeka, l.izdavanjeNaRecept, "DIURETIK")
                        {
                            kolicina = x.kolicinaLeka
                        });
                    }
                }


                s.Close();
            }
            catch (Exception e)
            {
            }


            return(lekInfo);
        }
示例#19
0
        public int Put(int id, [FromBody] ProdajnoMesto p)
        {
            DataProvider provider = new DataProvider();

            return(provider.UpdateProdajnoMesto(id, p));
        }
示例#20
0
        public int Post([FromBody] ProdajnoMesto p)
        {
            DataProvider provider = new DataProvider();

            return(provider.AddProdajnoMesto(p));
        }
 // PUT api/ProdajnoMesto/5
 public void Put(int id, [FromBody] ProdajnoMesto obj)
 {
     ServiceProvider.Get <ProdajnoMestoService>().Update(id, obj);
 }