コード例 #1
0
ファイル: FarmaceutForma.cs プロジェクト: djordjevuk/apoteka
        private void dgvLijekovi_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            odabraniLijek = (lijek)dgvLijekovi.SelectedRows[0].Tag;
            bool dodanLijek = false;

            foreach (DataGridViewRow r in dgvRacun.Rows)
            {
                stavkaracuna sr = (stavkaracuna)r.Tag;
                if (odabraniLijek.idLijeka == sr.idLijeka && kreiranRacun.idRacuna == sr.idRacuna)
                {
                    dodanLijek = true;
                    break;
                }
            }
            if (odabraniLijek.kolicinaNaStanju == 0)
            {
                MessageBox.Show("Nema više na stanju lijeka '" + odabraniLijek.naziv + "'", "Informacija", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (dodanLijek)
            {
                MessageBox.Show("Odabran lijek se nalazi na stavci računa.", "Informacija", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                gbPretragaLijeka.Enabled     = false;
                gbPodaciStavkeRacuna.Enabled = true;
                dodavanjeStavkeRacuna        = true;
                if (odabraniLijek.izdavanjeNaRecept)
                {
                    gbPodaciSaRecepta.Enabled = true;
                }
            }
        }
コード例 #2
0
ファイル: FarmaceutForma.cs プロジェクト: djordjevuk/apoteka
        private void DodajStavkuUTabeluRacun(stavkaracuna sRacuna)
        {
            DataGridViewRow r = new DataGridViewRow()
            {
                Tag = sRacuna
            };

            r.CreateCells(dgvRacun);
            r.SetValues(odabraniLijek.naziv, odabraniLijek.prodajnaCijena, sRacuna.kolicina, sRacuna.iznos);
            dgvRacun.Rows.Add(r);
            r.Selected = true;
            PostaviRedneBrojeveUTabeli(dgvRacun);
        }
コード例 #3
0
ファイル: FarmaceutForma.cs プロジェクト: djordjevuk/apoteka
 private void tsmiIzmjenitiStavkuRacuna_Click(object sender, EventArgs e)
 {
     if (dgvRacun.SelectedRows.Count == 1)
     {
         stavkaracuna sracuna = (stavkaracuna)dgvRacun.SelectedRows[0].Tag;
         btnDodatiStavkuNaRacun.Text  = "Sačuvati";
         dgvRacun.Enabled             = false;
         izmjenaStavkeRacuna          = true;
         gbPretragaLijeka.Enabled     = false;
         gbPodaciStavkeRacuna.Enabled = true;
         recept rcpt = null;
         nudKolicinaNaStavciRacuna.Value = sracuna.kolicina;
         if (sracuna.idRecepta != null)
         {
             gbPodaciSaRecepta.Enabled = true;
             try
             {
                 using (ApotekaDb context = new ApotekaDb())
                 {
                     rcpt = (from rec in context.recepts
                             where rec.idRecepta == sracuna.idRecepta
                             select rec).FirstOrDefault();
                     mtbJmbg.Text           = rcpt.jmbg;
                     tbPacijent.Text        = rcpt.pacijent;
                     tbAdresa.Text          = rcpt.adresa;
                     tbIzdatOdUstanove.Text = rcpt.izdatOdUstanove;
                     tbIzdatOdDoktora.Text  = rcpt.izdatOdDoktora;
                     dtpDatumIzdavanja.Text = rcpt.datumIzdavanja.ToString();
                     tbNapomena.Text        = rcpt.napomena;
                 }
             }
             catch (Exception)
             {
                 string prk = "Došlo je do greške.";
                 MessageBox.Show(prk, "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
 }
コード例 #4
0
ファイル: FarmaceutForma.cs プロジェクト: djordjevuk/apoteka
 private void tsmiObrisatiStavkuRacuna_Click(object sender, EventArgs e)
 {
     if (dgvRacun.SelectedRows.Count == 1)
     {
         stavkaracuna sracuna = (stavkaracuna)dgvRacun.SelectedRows[0].Tag;
         if (DialogResult.Yes == MessageBox.Show("Da li želite obrisati stavku računa?", "Pitanje", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
         {
             try
             {
                 using (ApotekaDb context = new ApotekaDb())
                 {
                     kreiranRacun = (from kRac in context.racuns
                                     where kRac.idRacuna == kreiranRacun.idRacuna
                                     select kRac).FirstOrDefault();
                     kreiranRacun.ukupanIznos = kreiranRacun.ukupanIznos - sracuna.iznos;
                     context.SaveChanges();
                     tbUkupanIznos.Text = kreiranRacun.ukupanIznos.ToString();
                     lijek ljk = (from lij in context.lijeks
                                  where lij.idLijeka == sracuna.idLijeka
                                  select lij).FirstOrDefault();
                     ljk.kolicinaNaStanju = ljk.kolicinaNaStanju + sracuna.kolicina;
                     context.SaveChanges();
                     PopuniTabeluLijekova("");
                     stavkaracuna stavkaRacuna = (from sr in context.stavkaracunas
                                                  where sr.idLijeka == sracuna.idLijeka && sr.idRacuna == sracuna.idRacuna
                                                  select sr).FirstOrDefault();
                     bool imaRecept           = stavkaRacuna.idRecepta != null;
                     int? idReceptaZaBrisanje = 0;
                     if (imaRecept)
                     {
                         idReceptaZaBrisanje = stavkaRacuna.idRecepta;
                     }
                     context.stavkaracunas.Remove(stavkaRacuna);
                     context.SaveChanges();
                     if (imaRecept)
                     {
                         recept rcpt = (from rec in context.recepts
                                        where rec.idRecepta == idReceptaZaBrisanje
                                        select rec).FirstOrDefault();
                         if (rcpt != null)
                         {
                             context.recepts.Remove(rcpt);
                             context.SaveChanges();
                         }
                     }
                     dgvRacun.Rows.Remove(dgvRacun.SelectedRows[0]);
                     if (dgvRacun.Rows.Count > 0)
                     {
                         PostaviRedneBrojeveUTabeli(dgvRacun);
                     }
                     else
                     {
                         tsmiIzmjenitiStavkuRacuna.Enabled = false;
                         tsmiObrisatiStavkuRacuna.Enabled  = false;
                     }
                     tsslStatusnaLabela.Text = "Stavka računa je obrisana.";
                 }
             }
             catch (Exception)
             {
                 string prk = "Došlo je do greške.";
                 MessageBox.Show(prk, "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
 }
コード例 #5
0
ファイル: FarmaceutForma.cs プロジェクト: djordjevuk/apoteka
        private void btnDodatiStavkuNaRacun_Click(object sender, EventArgs e)
        {
            string poruka           = "";
            int    kolicinaNaStavci = 1;
            bool   korektnaKolicina = false;

            if (gbPodaciSaRecepta.Enabled)
            {
                if (string.IsNullOrEmpty(mtbJmbg.Text.Trim()))
                {
                    poruka += "JMBG nije unijet.\n";
                }
                if (mtbJmbg.Text.Length < 13 || mtbJmbg.Text.Contains(" "))
                {
                    poruka += "JMBG mora sadržavati 13 cifara.\n";
                }
                if (string.IsNullOrEmpty(tbPacijent.Text.Trim()))
                {
                    poruka += "Ime i prezime pacijenta nije unijeto.\n";
                }
                if (string.IsNullOrEmpty(tbAdresa.Text.Trim()))
                {
                    poruka += "Adresa pacijenta nije unijeto.\n";
                }
                if (string.IsNullOrEmpty(tbIzdatOdUstanove.Text.Trim()))
                {
                    poruka += "Ime ustanove koja je izdala recept nije unijeto.\n";
                }
                if (string.IsNullOrEmpty(tbIzdatOdDoktora.Text.Trim()))
                {
                    poruka += "Ime doktor koji je izdao recept nije unijeto.\n";
                }
            }
            if ((nudKolicinaNaStavciRacuna.Value.ToString()).Contains(".") || (nudKolicinaNaStavciRacuna.Value.ToString()).Contains(","))
            {
                poruka += "Količina na stavci mora biti cjelobrojni podatak veći od 1.";
                nudKolicinaNaStavciRacuna.Value = 1;
            }

            if (string.IsNullOrEmpty(poruka))
            {
                korektnaKolicina = int.TryParse(nudKolicinaNaStavciRacuna.Value.ToString(), out kolicinaNaStavci);
                if (!korektnaKolicina)
                {
                    poruka += "Količina na stavci mora biti cjelobrojni podatak veći od 1.";
                }
                if (kolicinaNaStavci < 1)
                {
                    poruka += "Količina na stavci mora biti cjelobrojni podatak veći od 1.";
                }
            }
            if (kolicinaNaStavci > odabraniLijek.kolicinaNaStanju)
            {
                poruka += "Unesena količina lijeka nije na stanju.";
            }
            try
            {
                using (ApotekaDb context = new ApotekaDb())
                {
                    if (string.IsNullOrEmpty(poruka))
                    {
                        if (!izmjenaStavkeRacuna)
                        {
                            recept       rec     = new recept();
                            stavkaracuna sRacuna = new stavkaracuna();
                            sRacuna.kolicina = kolicinaNaStavci;
                            sRacuna.iznos    = odabraniLijek.prodajnaCijena * kolicinaNaStavci;
                            sRacuna.idLijeka = odabraniLijek.idLijeka;
                            sRacuna.idRacuna = kreiranRacun.idRacuna;
                            if (gbPodaciSaRecepta.Enabled)
                            {
                                rec.jmbg            = mtbJmbg.Text;
                                rec.pacijent        = tbPacijent.Text;
                                rec.adresa          = tbAdresa.Text;
                                rec.izdatOdUstanove = tbIzdatOdUstanove.Text;
                                rec.izdatOdDoktora  = tbIzdatOdDoktora.Text;
                                rec.datumIzdavanja  = dtpDatumIzdavanja.Value;
                                rec.nazivLijeka     = odabraniLijek.naziv;
                                rec.kolicina        = kolicinaNaStavci;
                                rec.napomena        = tbNapomena.Text.Trim();
                                context.recepts.Add(rec);
                                context.SaveChanges();
                                sRacuna.idRecepta = rec.idRecepta;
                            }
                            context.stavkaracunas.Add(sRacuna);
                            context.SaveChanges();
                            odabraniLijek = (from lij in context.lijeks
                                             where lij.idLijeka == odabraniLijek.idLijeka
                                             select lij).FirstOrDefault();
                            odabraniLijek.kolicinaNaStanju = odabraniLijek.kolicinaNaStanju - kolicinaNaStavci;
                            context.SaveChanges();
                            kreiranRacun = (from kRac in context.racuns
                                            where kRac.idRacuna == kreiranRacun.idRacuna
                                            select kRac).FirstOrDefault();
                            kreiranRacun.ukupanIznos = kreiranRacun.ukupanIznos + sRacuna.iznos;
                            tbUkupanIznos.Text       = kreiranRacun.ukupanIznos.ToString();
                            context.SaveChanges();
                            DodajStavkuUTabeluRacun(sRacuna);
                            PopuniTabeluLijekova("");
                            OmoguciPolja(false, true);
                            OcistiPoljaStavkeRacuna();
                            tsmiIzmjenitiStavkuRacuna.Enabled = true;
                            dodavanjeStavkeRacuna             = false;
                            tsslStatusnaLabela.Text           = "Stavka računa je dodata.";
                        }
                        else
                        {
                            stavkaracuna sracuna = (stavkaracuna)dgvRacun.SelectedRows[0].Tag;
                            if (sracuna.idRecepta != null)
                            {
                                gbPodaciSaRecepta.Enabled = true;
                                recept rcpt = (from rec in context.recepts
                                               where rec.idRecepta == sracuna.idRecepta
                                               select rec).FirstOrDefault();
                                rcpt.jmbg            = mtbJmbg.Text;
                                rcpt.pacijent        = tbPacijent.Text;
                                rcpt.adresa          = tbAdresa.Text;
                                rcpt.izdatOdUstanove = tbIzdatOdUstanove.Text;
                                rcpt.izdatOdDoktora  = tbIzdatOdDoktora.Text;
                                rcpt.datumIzdavanja  = dtpDatumIzdavanja.Value;
                                rcpt.kolicina        = kolicinaNaStavci;
                                rcpt.napomena        = tbNapomena.Text;
                                context.SaveChanges();
                            }
                            lijek ljk = (from lij in context.lijeks
                                         where lij.idLijeka == sracuna.idLijeka
                                         select lij).FirstOrDefault();
                            kreiranRacun = (from kRac in context.racuns
                                            where kRac.idRacuna == kreiranRacun.idRacuna
                                            select kRac).FirstOrDefault();
                            kreiranRacun.ukupanIznos = kreiranRacun.ukupanIznos - (ljk.prodajnaCijena * sracuna.kolicina);
                            kreiranRacun.ukupanIznos = kreiranRacun.ukupanIznos + (ljk.prodajnaCijena * kolicinaNaStavci);
                            tbUkupanIznos.Text       = kreiranRacun.ukupanIznos.ToString();
                            context.SaveChanges();

                            ljk.kolicinaNaStanju = ljk.kolicinaNaStanju + (sracuna.kolicina - kolicinaNaStavci);
                            context.SaveChanges();
                            stavkaracuna stavkaRacuna = (from sr in context.stavkaracunas
                                                         where sr.idLijeka == sracuna.idLijeka && sr.idRacuna == sracuna.idRacuna
                                                         select sr).FirstOrDefault();
                            stavkaRacuna.kolicina = kolicinaNaStavci;
                            stavkaRacuna.iznos    = ljk.prodajnaCijena * kolicinaNaStavci;
                            context.SaveChanges();
                            DataGridViewRow row = dgvRacun.SelectedRows[0];
                            row.Tag = stavkaRacuna;
                            row.SetValues(ljk.naziv, ljk.prodajnaCijena, stavkaRacuna.kolicina, stavkaRacuna.iznos);
                            OmoguciPolja(false, true);
                            PopuniTabeluLijekova("");
                            OcistiPoljaStavkeRacuna();
                            tsmiIzmjenitiStavkuRacuna.Enabled = true;
                            izmjenaStavkeRacuna         = false;
                            btnDodatiStavkuNaRacun.Text = "Dodati";
                            tsslStatusnaLabela.Text     = "Stavka računa je izmjenjena.";
                        }
                    }
                    else
                    {
                        MessageBox.Show(poruka, "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception)
            {
                string prk = "Došlo je do greške.";
                MessageBox.Show(prk, "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }