private void dgvLijekovi_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { odabraniLijek = (lijek)dgvLijekovi.SelectedRows[0].Tag; bool dodanLijek = false; foreach (DataGridViewRow r in dgvNarudzba.Rows) { stavkanarudzbe sn = (stavkanarudzbe)r.Tag; if (odabraniLijek.idLijeka == sn.idLijeka && kreiranaNarudzba.idNarudzbe == sn.idNarudzbe) { dodanLijek = true; break; } } if (dodanLijek) { MessageBox.Show("Odabran lijek se nalazi na stavci računa.", "Poruka", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { gbPretragaLijeka.Enabled = false; gbPodaciStavkeNarudzbe.Enabled = true; dodavanjeStavkeNarudzbe = true; } }
private void tsmiIzmjenitiStavkuNarudzbe_Click(object sender, EventArgs e) { if (dgvNarudzba.SelectedRows.Count == 1) { stavkanarudzbe sNarudzbe = (stavkanarudzbe)dgvNarudzba.SelectedRows[0].Tag; btnDodatiStavkuNarudzbe.Text = "Sačuvati"; dgvNarudzba.Enabled = false; izmjenaStavkeNarudzbe = true; gbPretragaLijeka.Enabled = false; gbPodaciStavkeNarudzbe.Enabled = true; nudKolicinaNaStavciNarudzbe.Value = sNarudzbe.kolicina; } }
private void DodajStavkuUTabeluNarudzba(stavkanarudzbe sNarudzbe) { DataGridViewRow r = new DataGridViewRow() { Tag = sNarudzbe }; r.CreateCells(dgvNarudzba); r.SetValues(odabraniLijek.naziv, odabraniLijek.nabavnaCijena, sNarudzbe.kolicina, sNarudzbe.iznos); dgvNarudzba.Rows.Add(r); r.Selected = true; PostaviRedneBrojeveUTabeli(dgvNarudzba); }
private void tsmiObrisatiStavkuNarudzbe_Click(object sender, EventArgs e) { if (dgvNarudzba.SelectedRows.Count == 1) { stavkanarudzbe sNarudzbe = (stavkanarudzbe)dgvNarudzba.SelectedRows[0].Tag; if (DialogResult.Yes == MessageBox.Show("Da li želite obrisati stavku narudžbe?", "Pitanje", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)) { try { using (ApotekaDb context = new ApotekaDb()) { kreiranaNarudzba = (from kNar in context.narudzbas where kNar.idNarudzbe == kreiranaNarudzba.idNarudzbe select kNar).FirstOrDefault(); kreiranaNarudzba.ukupanIznos = kreiranaNarudzba.ukupanIznos - sNarudzbe.iznos; context.SaveChanges(); tbUkupanIznos.Text = kreiranaNarudzba.ukupanIznos.ToString(); lijek ljk = (from lij in context.lijeks where lij.idLijeka == sNarudzbe.idLijeka select lij).FirstOrDefault(); stavkanarudzbe stavkaNarudzbe = (from sn in context.stavkanarudzbes where sn.idLijeka == sNarudzbe.idLijeka && sn.idNarudzbe == sNarudzbe.idNarudzbe select sn).FirstOrDefault(); context.stavkanarudzbes.Remove(stavkaNarudzbe); context.SaveChanges(); dgvNarudzba.Rows.Remove(dgvNarudzba.SelectedRows[0]); if (dgvNarudzba.Rows.Count > 0) { PostaviRedneBrojeveUTabeli(dgvNarudzba); } else { tsmiIzmjenitiStavkuNarudzbe.Enabled = false; tsmiObrisatiStavkuNarudzbe.Enabled = false; } } } catch (Exception) { string prk = "Došlo je do greške."; MessageBox.Show(prk, "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
private void btnDodatiStavkuNarudzbe_Click(object sender, EventArgs e) { string poruka = ""; int kolicinaNaStavci = 1; bool korektnaKolicina = false; if ((nudKolicinaNaStavciNarudzbe.Value.ToString()).Contains(".") || (nudKolicinaNaStavciNarudzbe.Value.ToString()).Contains(",")) { poruka += "Količina na stavci mora biti cjelobrojni podatak veći od 1."; nudKolicinaNaStavciNarudzbe.Value = 1; } if (string.IsNullOrEmpty(poruka)) { korektnaKolicina = int.TryParse(nudKolicinaNaStavciNarudzbe.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."; } } try { using (ApotekaDb context = new ApotekaDb()) { if (string.IsNullOrEmpty(poruka)) { if (!izmjenaStavkeNarudzbe) { stavkanarudzbe sNarudzbe = new stavkanarudzbe(); sNarudzbe.kolicina = kolicinaNaStavci; sNarudzbe.iznos = odabraniLijek.nabavnaCijena * kolicinaNaStavci; sNarudzbe.idLijeka = odabraniLijek.idLijeka; sNarudzbe.idNarudzbe = kreiranaNarudzba.idNarudzbe; context.stavkanarudzbes.Add(sNarudzbe); context.SaveChanges(); kreiranaNarudzba = (from kNar in context.narudzbas where kNar.idNarudzbe == kreiranaNarudzba.idNarudzbe select kNar).FirstOrDefault(); kreiranaNarudzba.ukupanIznos = kreiranaNarudzba.ukupanIznos + sNarudzbe.iznos; tbUkupanIznos.Text = kreiranaNarudzba.ukupanIznos.ToString(); context.SaveChanges(); DodajStavkuUTabeluNarudzba(sNarudzbe); OmoguciPolja(false); nudKolicinaNaStavciNarudzbe.Value = 1; tsmiIzmjenitiStavkuNarudzbe.Enabled = true; dodavanjeStavkeNarudzbe = false; } else { stavkanarudzbe sNarudzbe = (stavkanarudzbe)dgvNarudzba.SelectedRows[0].Tag; lijek ljk = (from lij in context.lijeks where lij.idLijeka == sNarudzbe.idLijeka select lij).FirstOrDefault(); kreiranaNarudzba = (from kNar in context.narudzbas where kNar.idNarudzbe == kreiranaNarudzba.idNarudzbe select kNar).FirstOrDefault(); kreiranaNarudzba.ukupanIznos = kreiranaNarudzba.ukupanIznos - (ljk.nabavnaCijena * sNarudzbe.kolicina); kreiranaNarudzba.ukupanIznos = kreiranaNarudzba.ukupanIznos + (ljk.nabavnaCijena * kolicinaNaStavci); tbUkupanIznos.Text = kreiranaNarudzba.ukupanIznos.ToString(); context.SaveChanges(); stavkanarudzbe stavkaNarudzbe = (from sNar in context.stavkanarudzbes where sNar.idLijeka == sNarudzbe.idLijeka && sNar.idNarudzbe == sNarudzbe.idNarudzbe select sNar).FirstOrDefault(); stavkaNarudzbe.kolicina = kolicinaNaStavci; stavkaNarudzbe.iznos = ljk.nabavnaCijena * kolicinaNaStavci; context.SaveChanges(); DataGridViewRow row = dgvNarudzba.SelectedRows[0]; row.Tag = stavkaNarudzbe; row.SetValues(ljk.naziv, ljk.nabavnaCijena, stavkaNarudzbe.kolicina, stavkaNarudzbe.iznos); OmoguciPolja(false); nudKolicinaNaStavciNarudzbe.Value = 1; tsmiIzmjenitiStavkuNarudzbe.Enabled = true; izmjenaStavkeNarudzbe = false; btnDodatiStavkuNarudzbe.Text = "Dodati"; } } 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); } }