private void gumbRacun_Click(object sender, EventArgs e) { using (IneffableEntities kontekst = new IneffableEntities()) { DateTime datum1; datum1 = Convert.ToDateTime(DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss")); var datum = DateTime.Now; var vrijeme = datum.TimeOfDay; double ukupno; if (ukupnoRacun.Text == null || ukupnoRacun.Text == "") { ukupno = 0; } else { ukupno = double.Parse(ukupnoRacun.Text.ToString()); } var noviRacun = new racun() { datum = datum1, vrijeme = vrijeme, iznos = 0, zaposlenik_id = zaposlenik, servis_id = null }; kontekst.racun.Add(noviRacun); kontekst.SaveChanges(); } }
private void buttonIzdavanjeRacuna_Click(object sender, EventArgs e) { int rowindex = dataGridViewRezervacijePutovanja.CurrentRow.Index; int rezervacijaID = int.Parse(dataGridViewRezervacijePutovanja.Rows[rowindex].Cells[0].Value.ToString()); string nazivPutovanja = dataGridViewRezervacijePutovanja.Rows[rowindex].Cells[1].Value.ToString(); int putnikID = int.Parse(dataGridViewRezervacijePutovanja.Rows[rowindex].Cells[2].Value.ToString()); using (var bp = new EntitiesWeTravel()) { var noviRacun = new racun { zaposlenik_FK = Sesija.ZaposlenikId, datumvrijeme_izdavanja = DateTime.Parse(DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss")), ukupna_cijena = UkupnaCijenaRacuna(), rezervacija_FK = int.Parse(dataGridViewRezervacijePutovanja.Rows[rowindex].Cells[0].Value.ToString()) }; try { bp.racun.Add(noviRacun); bp.SaveChanges(); PrikaziPutnike(); FormaRacun formaRacun = new FormaRacun(rezervacijaID, nazivPutovanja); formaRacun.ShowDialog(); } catch (Exception) { FormaRacun formaRacun = new FormaRacun(rezervacijaID, nazivPutovanja); formaRacun.ShowDialog(); } } }
private void btnKreiratiRacun_Click(object sender, EventArgs e) { OmoguciPolja(false, true); PopuniTabeluLijekova(""); dgvLijekovi.ClearSelection(); tsmiLijekDetaljno.Enabled = false; try { using (ApotekaDb context = new ApotekaDb()) { kreiranRacun = new racun(); kreiranRacun.datumKreiranja = DateTime.Today; kreiranRacun.ukupanIznos = 0; kreiranRacun.idZaposlenog = prijavljenZaposleni.idZaposlenog; context.racuns.Add(kreiranRacun); context.SaveChanges(); } tsslStatusnaLabela.Text = "Račun je otvoren."; } catch (Exception) { string prk = "Došlo je do greške."; MessageBox.Show(prk, "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void gumbSpremi_Click(object sender, EventArgs e) { using (IneffableEntities kontekst = new IneffableEntities()) { int racun_id = int.Parse(ukupnoRacuna.Text.ToString()); var upit = from artikl in kontekst.artikl join stavka_racuna in kontekst.stavka_racuna on racun_id equals stavka_racuna.racun_id where stavka_racuna.artikl_id == artikl.artikl_id select new { ArtiklCijena = artikl.cijena, ArtiklKolicina = stavka_racuna.kolicina }; double?ukupno = 0; foreach (var element in upit) { double?privremeno = element.ArtiklKolicina * element.ArtiklCijena; ukupno += privremeno; } ukupnoServis = 0; racun noviRacun1 = kontekst.racun.FirstOrDefault(r => r.racun_id == racun_id); if (noviRacun1.servis_id == null) { ukupnoServis = 0; } else { var upit3 = from servis_log in kontekst.servis_log where servis_log.servis_id == noviRacun1.servis_id select servis_log; foreach (var element in upit3) { ukupnoServis += element.cijena_promjene; } } racun noviRacun = kontekst.racun.FirstOrDefault(r => r.racun_id == racun_id); noviRacun.iznos = ukupno + ukupnoServis; kontekst.SaveChanges(); int brojRacuna = 0; var upit2 = from racun in kontekst.racun select racun.racun_id; foreach (var element2 in upit2) { brojRacuna++; } brojRacuna++; ukupnoRacuna.Text = brojRacuna.ToString(); } }
public ActionResult Show(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } racun racun = db.racuns.Find(id); if (racun == null) { return(HttpNotFound()); } return(View("Racun", racun)); }
private void PonistiKreiranRacun() { try { using (ApotekaDb context = new ApotekaDb()) { var listaStavkiRacuna = (from sr in context.stavkaracunas where sr.idRacuna == kreiranRacun.idRacuna select sr).ToList(); foreach (stavkaracuna s in listaStavkiRacuna) { lijek ljk = (from lij in context.lijeks where lij.idLijeka == s.idLijeka select lij).FirstOrDefault(); ljk.kolicinaNaStanju = ljk.kolicinaNaStanju + s.kolicina; context.SaveChanges(); int?idReceptaSaStavke = s.idRecepta; context.stavkaracunas.Remove(s); context.SaveChanges(); if (idReceptaSaStavke != null) { recept rcpt = (from rec in context.recepts where rec.idRecepta == idReceptaSaStavke select rec).FirstOrDefault(); context.recepts.Remove(rcpt); context.SaveChanges(); } } racun rac = (from r in context.racuns where r.idRacuna == kreiranRacun.idRacuna select r).FirstOrDefault(); context.racuns.Remove(rac); context.SaveChanges(); OmoguciPolja(true, false); OcistiPoljaStavkeRacuna(); dgvRacun.Rows.Clear(); dgvLijekovi.Rows.Clear(); tsslStatusnaLabela.Text = "Račun je poništen."; tbUkupanIznos.Text = "0.00"; } } catch (Exception) { string prk = "Došlo je do greške."; MessageBox.Show(prk, "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void GumbPotvrda_Click(object sender, EventArgs e) { if (izdavateljComboBox.SelectedIndex == -1) { UpozorenjeIzdavatelj.Text = "Odaberite element"; UpozorenjeIzdavatelj.Show(); } else { //stavi podatke u klasu i pošalji u BP racun newInstance = new racun { id = oldInstance.id, datum_izdavanja = datum_izdavanjaDateTimePicker.Value, izdavatelj = izdavateljComboBox.SelectedValue.ToString(), placeno = placenoCheckBox.Checked }; string otpremnice = ""; foreach (otpremnica otpremnicaObj in pridruzeneOtpremnice) { otpremnica newOtpremnicaObj = new otpremnica { nalog = otpremnicaObj.nalog, datum_otpreme = otpremnicaObj.datum_otpreme, otpremitelj = otpremnicaObj.otpremitelj, racun = oldInstance.id }; otpremnice += DataHandler.SerializeUpdatedObject(otpremnicaObj, newOtpremnicaObj); } foreach (otpremnica otpremnicaObj in raspoloziveOtpremnice) { otpremnica newOtpremnicaObj = new otpremnica { nalog = otpremnicaObj.nalog, datum_otpreme = otpremnicaObj.datum_otpreme, otpremitelj = otpremnicaObj.otpremitelj, racun = null }; otpremnice += DataHandler.SerializeUpdatedObject(otpremnicaObj, newOtpremnicaObj); } string dataForSending = DataHandler.AddHeaderInfoToXMLDatagroup(otpremnice, 'U'); dataForSending += DataHandler.AddHeaderInfoToXMLDatagroup(DataHandler.SerializeUpdatedObject(oldInstance, newInstance), 'U'); sockObj.SendSerializedData(DataHandler.AddWrapperOverXMLDatagroups(dataForSending)); this.Close(); } }
public frmRacunUpdate(DataGridViewRow PodatkovniRedak) : base(false) { InitializeComponent(); izdavateljComboBox.DataSource = (from zaposlenikObj in DataHandler.entityNamesWithReferencesToBelongingDataStores["osoba"] from zaposlenObj in DataHandler.entityNamesWithReferencesToBelongingDataStores["zaposlen"] from radno_mjestoObj in DataHandler.entityNamesWithReferencesToBelongingDataStores["radno_mjesto"] where ((osoba)zaposlenikObj).oib == ((zaposlen)zaposlenObj).zaposlenik && ((zaposlen)zaposlenObj).radno_mjesto == ((radno_mjesto)radno_mjestoObj).id && ((radno_mjesto)radno_mjestoObj).naziv == "računovođa" select new { sifra = ((osoba)zaposlenikObj).oib, naziv = ((osoba)zaposlenikObj).ime + " " + ((osoba)zaposlenikObj).prezime }).ToArray(); izdavateljComboBox.DisplayMember = "naziv"; izdavateljComboBox.ValueMember = "sifra"; izdavateljComboBox.SelectedText = PodatkovniRedak.Cells["izdavatelj"].Value.ToString(); oldInstance = new racun { id = (int)PodatkovniRedak.Cells[0].Value, datum_izdavanja = datum_izdavanjaDateTimePicker.Value = (DateTime)PodatkovniRedak.Cells["datum_izdavanja"].Value, placeno = placenoCheckBox.Checked = (string)(PodatkovniRedak.Cells["placeno"].Value) == "da" ? true : false, izdavatelj = izdavateljComboBox.SelectedValue.ToString() }; raspoloziveOtpremnice = new BindingList <otpremnica>((from otpremnicaObj in DataHandler.entityNamesWithReferencesToBelongingDataStores["otpremnica"] where ((otpremnica)otpremnicaObj).racun == null select new otpremnica { nalog = ((otpremnica)otpremnicaObj).nalog, datum_otpreme = ((otpremnica)otpremnicaObj).datum_otpreme, otpremitelj = ((otpremnica)otpremnicaObj).otpremitelj, racun = null }).ToList()); pridruzeneOtpremnice = new BindingList <otpremnica>((from otpremnicaObj in DataHandler.entityNamesWithReferencesToBelongingDataStores["otpremnica"] where ((otpremnica)otpremnicaObj).racun.HasValue && ((otpremnica)otpremnicaObj).racun.Value == oldInstance.id select new otpremnica { nalog = ((otpremnica)otpremnicaObj).nalog, datum_otpreme = ((otpremnica)otpremnicaObj).datum_otpreme, otpremitelj = ((otpremnica)otpremnicaObj).otpremitelj, racun = oldInstance.id }).ToList()); RefreshDGVs(); }
private void btnDodajRačun_Click(object sender, EventArgs e) { racun noviRacun = new racun(); DateTime datum = new DateTime(); datum = dtpDatum.Value; noviRacun.datum = datum; noviRacun.id_korisnik = Convert.ToInt32(txtIDkorisnik.Text); string imePrezkorisnika = txtImeKorisnik.Text + " " + txtPrezimeKorisnik.Text; noviRacun.izdaje = imePrezkorisnika; noviRacun.imePrezimeKupca = txtImePrezKupac.Text; noviRacun.adresaKupca = txtAdresaKupac.Text; noviRacun.oibKupca = txtOIBKupac.Text; noviRacun.iznos = Convert.ToDecimal(txtUkupno.Text); baza.racun.Add(noviRacun); baza.SaveChanges(); int id_racuna = 0; foreach (var red in baza.racun) { id_racuna = red.id_racun; } foreach (DataGridViewRow red in dgvNoveStavke.Rows) { stavke_racuna noveStavke = new stavke_racuna(); noveStavke.id_artikli = Convert.ToInt32(red.Cells[0].Value); noveStavke.id_racun = id_racuna; noveStavke.kolicina = Convert.ToInt32(red.Cells[3].Value); noveStavke.popust = Convert.ToInt32(red.Cells[4].Value); baza.stavke_racuna.Add(noveStavke); if (red.Cells[0].Value != null) { baza.SaveChanges(); } } this.Close(); MessageBox.Show("Dodan račun!"); }
public ActionResult Create([Bind(Include = "tipracuna, idkupac, datvalute, stavkaracunas")] racun racun) { racun.datizdavanja = DateTime.Now; racun.brracuna = db.racuns.Where(o => o.tipracuna == racun.tipracuna).OrderByDescending(o => o.brracuna).Select(o => o.brracuna).FirstOrDefault() + 1; racun.ukupnacena = 0; foreach (stavkaracuna sr in racun.stavkaracunas) { sr.ukupnacena = sr.kolicina * sr.cenapojm; racun.ukupnacena += sr.ukupnacena; } if (ModelState.IsValid) { db.racuns.Add(racun); db.SaveChanges(); TempData["status"] = "added"; return(RedirectToAction("Index")); } return(View(racun)); }
private void GumbPotvrda_Click(object sender, EventArgs e) { bool performSave = true; if (izdavateljComboBox.SelectedIndex == -1) { UpozorenjeIzdavatelj.Text = "Odaberite element"; UpozorenjeIzdavatelj.Show(); performSave = false; } if (pridruzeneOtpremnice.Count() == 0) { UpozorenjeOtpremnice.Text = "Račun mora imati pridruženu minimalno jednu otpremnicu"; UpozorenjeOtpremnice.Show(); performSave = false; } if (performSave) { //stavi podatke u klasu i pošalji u BP racun newInstance = new racun { datum_izdavanja = datum_izdavanjaDateTimePicker.Value, izdavatelj = izdavateljComboBox.SelectedValue.ToString(), placeno = placenoCheckBox.Checked }; string dataForSending = DataHandler.AddHeaderInfoToXMLDatagroup(DataHandler.ConvertObjectsToXMLData(newInstance), 'C'); string otpremnice = ""; foreach (otpremnica otpremnicaObj in pridruzeneOtpremnice) { otpremnice += DataHandler.SerializeUpdatedObject(otpremnicaObj, otpremnicaObj); } dataForSending += DataHandler.AddHeaderInfoToXMLDatagroup(otpremnice, 'U'); sockObj.SendSerializedData(DataHandler.AddWrapperOverXMLDatagroups(dataForSending)); this.Close(); } }
public static void kreirajIzvjestajRacun(string putanja, List <racun> racuni, DateTime?datumOd, DateTime?datumDo, zaposleni kreirao, BackgroundWorker bgw) { BaseFont bfArialUniCode = null; try { Byte[] fb = Properties.Resources.calibril; bfArialUniCode = BaseFont.CreateFont("calibri.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED, BaseFont.CACHED, fb, null); } catch (Exception) { bgw.ReportProgress(100, "greska"); return; } font = new Font(bfArialUniCode, 12, Font.NORMAL); font2 = new Font(bfArialUniCode, 11, Font.NORMAL); font3 = new Font(bfArialUniCode, 9, Font.NORMAL); font4 = new Font(bfArialUniCode, 12, Font.BOLD); font5 = new Font(bfArialUniCode, 14, Font.BOLD); font6 = new Font(bfArialUniCode, 9, Font.BOLD); FileStream fajl = File.Create(putanja); Document dokument = null; try { dokument = new Document(PageSize.A4); PdfWriter.GetInstance(dokument, fajl); dokument.Open(); dokument.AddAuthor("Apoteka"); dokument.AddCreator("Apoteka"); dokument.AddCreationDate(); dokument.AddTitle("Izvjestaj - racuni za odredjeni period"); dokument.AddSubject("Izvjestaj - racuni za odredjeni period"); Paragraph pdf = new Paragraph(); PdfPTable tabelaZaglavlje = new PdfPTable(2); tabelaZaglavlje.WidthPercentage = 100f; tabelaZaglavlje.SetWidths(new int[] { 1, 2 }); PdfPCell cell = new PdfPCell(); Image slika = Image.GetInstance(Properties.Resources.apoteka_png, System.Drawing.Imaging.ImageFormat.Png); cell.PaddingTop = 25; slika.ScaleAbsolute(100f, 100f); cell.Border = Rectangle.NO_BORDER; cell.HorizontalAlignment = Element.ALIGN_MIDDLE; cell.VerticalAlignment = Element.ALIGN_CENTER; cell.AddElement(slika); cell.Rowspan = 2; tabelaZaglavlje.AddCell(cell); cell = new PdfPCell(); cell.PaddingLeft = 25; cell.Border = Rectangle.NO_BORDER; cell.HorizontalAlignment = Element.ALIGN_CENTER; cell.VerticalAlignment = Element.ALIGN_TOP; Paragraph par = new Paragraph("APOTEKA\n", font5); Chunk chunk = null; chunk = new Chunk("Izvještaj: računi izdati u određenom periodu\n", font3); par.Add(chunk); cell.AddElement(par); par = new Paragraph("________________________________________\n", font3); DateTime datOd = DateTime.Today; if (datumOd != null) { datOd = (DateTime)datumOd; } DateTime datDo = DateTime.Today; if (datumDo != null) { datDo = (DateTime)datumDo; } if (datumOd == null && datumDo == null) { chunk = new Chunk("Izvještaj sadrži sve izdate račune\n", font6); par.Add(chunk); } else { if (datumOd != null) { chunk = new Chunk("Izdati od: ", font6); par.Add(chunk); chunk = new Chunk(datOd.ToString("dd.MM.yyyy") + "\n", font3); par.Add(chunk); } if (datumDo != null) { chunk = new Chunk("Izdati do: ", font6); par.Add(chunk); chunk = new Chunk(datDo.ToString("dd.MM.yyyy") + "\n", font3); par.Add(chunk); } } chunk = new Chunk("Datum kreiranja izvještaja: ", font6); par.Add(chunk); chunk = new Chunk(DateTime.Today.ToString("dd.MM.yyyy") + "\n", font3); par.Add(chunk); chunk = new Chunk("Izvještaj kreirao: ", font6); par.Add(chunk); chunk = new Chunk(kreirao.ime + " " + kreirao.prezime + "\n", font3); par.Add(chunk); chunk = new Chunk("Broj računa: ", font6); par.Add(chunk); chunk = new Chunk(racuni.Count + "\n", font3); par.Add(chunk); decimal ukupno = 0; foreach (racun rcn in racuni) { ukupno += rcn.ukupanIznos; } chunk = new Chunk("Ukupan promet: ", font6); par.Add(chunk); chunk = new Chunk(ukupno.ToString() + "\n", font3); par.Add(chunk); cell.AddElement(par); par = new Paragraph("________________________________________\n", font3); cell.AddElement(par); tabelaZaglavlje.AddCell(cell); PdfPTable table = new PdfPTable(4); table.WidthPercentage = 100; table.SpacingBefore = 10f; table.SpacingAfter = 10f; float[] columnWidths = { 0.3f, 0.8f, 1f, 0.6f }; table.SetWidths(columnWidths); cell = new PdfPCell(new Paragraph("R.br.", font4)); cell.PaddingLeft = 10; cell.BackgroundColor = new BaseColor(134, 216, 144); cell.HorizontalAlignment = Element.ALIGN_CENTER; cell.VerticalAlignment = Element.ALIGN_MIDDLE; PdfPCell cell1 = new PdfPCell(new Paragraph("Datum izdavanja", font4)); cell1.PaddingLeft = 10; cell1.BackgroundColor = new BaseColor(134, 216, 144); cell1.HorizontalAlignment = Element.ALIGN_CENTER; cell1.VerticalAlignment = Element.ALIGN_MIDDLE; PdfPCell cell2 = new PdfPCell(new Paragraph("Izdao", font4)); cell2.PaddingLeft = 10; cell2.BackgroundColor = new BaseColor(134, 216, 144); cell2.HorizontalAlignment = Element.ALIGN_CENTER; cell2.VerticalAlignment = Element.ALIGN_MIDDLE; PdfPCell cell3 = new PdfPCell(new Paragraph("Iznos računa", font4)); cell3.PaddingLeft = 10; cell3.BackgroundColor = new BaseColor(134, 216, 144); cell3.HorizontalAlignment = Element.ALIGN_CENTER; cell3.VerticalAlignment = Element.ALIGN_MIDDLE; table.AddCell(cell); table.AddCell(cell1); table.AddCell(cell2); table.AddCell(cell3); int brojacUnosa = 1; int total = racuni.Count + 1; int indeks = 1; int percents = 0; using (ApotekaDb context = new ApotekaDb()) { for (int redniBrojUTabeli = 0; redniBrojUTabeli < racuni.Count;) { racun rac = racuni.ElementAt(redniBrojUTabeli); if (brojacUnosa % 2 == 0) { List <stavkaracuna> stavke = new List <stavkaracuna>(); stavke = (from sr in context.stavkaracunas where sr.idRacuna == rac.idRacuna select sr).ToList(); cell = new PdfPCell(new Paragraph("", font6)); cell.PaddingLeft = 10; cell.HorizontalAlignment = Element.ALIGN_CENTER; cell.VerticalAlignment = Element.ALIGN_MIDDLE; cell.Rowspan = stavke.Count + 1; cell1 = new PdfPCell(new Paragraph("Lijek", font6)); cell1.PaddingLeft = 10; cell1.BackgroundColor = new BaseColor(212, 252, 249); cell1.HorizontalAlignment = Element.ALIGN_CENTER; cell1.VerticalAlignment = Element.ALIGN_MIDDLE; cell2 = new PdfPCell(new Paragraph("Količina", font6)); cell2.PaddingLeft = 10; cell2.BackgroundColor = new BaseColor(212, 252, 249); cell2.HorizontalAlignment = Element.ALIGN_CENTER; cell2.VerticalAlignment = Element.ALIGN_MIDDLE; cell3 = new PdfPCell(new Paragraph("Iznos stavke", font6)); cell3.PaddingLeft = 10; cell3.BackgroundColor = new BaseColor(212, 252, 249); cell3.HorizontalAlignment = Element.ALIGN_CENTER; cell3.VerticalAlignment = Element.ALIGN_MIDDLE; table.AddCell(cell); table.AddCell(cell1); table.AddCell(cell2); table.AddCell(cell3); foreach (stavkaracuna sr in stavke) { lijek ljk = null; ljk = (from l in context.lijeks where l.idLijeka == sr.idLijeka select l).FirstOrDefault(); if (ljk != null) { cell1 = new PdfPCell(new Paragraph(ljk.naziv, font3)); } else { cell1 = new PdfPCell(new Paragraph("", font3)); } cell1.PaddingLeft = 10; cell1.HorizontalAlignment = Element.ALIGN_CENTER; cell1.VerticalAlignment = Element.ALIGN_MIDDLE; cell2 = new PdfPCell(new Paragraph(sr.kolicina.ToString(), font3)); cell2.PaddingLeft = 10; cell2.HorizontalAlignment = Element.ALIGN_CENTER; cell2.VerticalAlignment = Element.ALIGN_MIDDLE; cell3 = new PdfPCell(new Paragraph(sr.iznos.ToString(), font3)); cell3.PaddingLeft = 10; cell3.HorizontalAlignment = Element.ALIGN_RIGHT; cell3.VerticalAlignment = Element.ALIGN_MIDDLE; table.AddCell(cell1); table.AddCell(cell2); table.AddCell(cell3); } percents = (indeks * 100) / total; bgw.ReportProgress(percents, "ok"); indeks++; redniBrojUTabeli++; } else { cell = new PdfPCell(new Paragraph((redniBrojUTabeli + 1) + ".", font)); cell.PaddingLeft = 10; cell.BackgroundColor = new BaseColor(189, 252, 196); cell.HorizontalAlignment = Element.ALIGN_CENTER; cell.VerticalAlignment = Element.ALIGN_MIDDLE; cell1 = new PdfPCell(new Paragraph(rac.datumKreiranja.ToString("dd.MM.yyyy"), font2)); cell1.PaddingLeft = 10; cell1.BackgroundColor = new BaseColor(189, 252, 196); cell1.HorizontalAlignment = Element.ALIGN_CENTER; cell1.VerticalAlignment = Element.ALIGN_MIDDLE; zaposleni zps = null; zps = (from z in context.zaposlenis where z.idZaposlenog == rac.idZaposlenog select z).FirstOrDefault(); if (zps != null) { cell2 = new PdfPCell(new Paragraph(zps.ime + " " + zps.prezime, font2)); } else { cell2 = new PdfPCell(new Paragraph("", font2)); } cell2.PaddingLeft = 10; cell2.BackgroundColor = new BaseColor(189, 252, 196); cell2.HorizontalAlignment = Element.ALIGN_CENTER; cell2.VerticalAlignment = Element.ALIGN_MIDDLE; cell3 = new PdfPCell(new Paragraph(rac.ukupanIznos.ToString(), font2)); cell3.PaddingLeft = 10; cell3.BackgroundColor = new BaseColor(189, 252, 196); cell3.HorizontalAlignment = Element.ALIGN_RIGHT; cell3.VerticalAlignment = Element.ALIGN_MIDDLE; table.AddCell(cell); table.AddCell(cell1); table.AddCell(cell2); table.AddCell(cell3); } brojacUnosa++; } } pdf.Add(tabelaZaglavlje); dokument.Add(pdf); pdf = new Paragraph("\n"); dokument.Add(pdf); pdf = new Paragraph(); pdf.Add(table); dokument.Add(pdf); if (dokument != null) { dokument.Close(); } percents = (indeks * 100) / total; System.Diagnostics.Process.Start(putanja); bgw.ReportProgress(percents, "ok"); } catch (Exception) { bgw.ReportProgress(100, "greska"); return; } }
private void gumbIzracunaj_Click(object sender, EventArgs e) { int kolicina; if (kolicinaRacun.Text == "") { kolicina = 0; } else { kolicina = int.Parse(kolicinaRacun.Text); } double cijena = double.Parse(cijenaRacun.Text.ToString()); ukupnoRacun.Text = (kolicina * cijena).ToString(); int racun_id = int.Parse(ukupnoRacuna.Text.ToString()); int artikl_id = int.Parse(comboBox1.SelectedValue.ToString()); int?kolicinaSkladiste; using (IneffableEntities kontekst = new IneffableEntities()) { artikl noviArtikl = kontekst.artikl.FirstOrDefault(r => r.artikl_id == trenutni); kolicinaSkladiste = noviArtikl.kolicina_na_skladistu; if (kolicina > kolicinaSkladiste) { MessageBox.Show("Nema toliko na skladištu"); kolicinaRacun.Clear(); ukupnoRacun.Clear(); } else { if (kolicina > 0) { var novaStavka = new stavka_racuna() { racun_id = racun_id, artikl_id = artikl_id, kolicina = kolicina }; kontekst.stavka_racuna.Add(novaStavka); kontekst.SaveChanges(); } } int?servisId; if (comboBox3.SelectedValue == "" || comboBox3.SelectedValue == null) { servisId = null; } else { servisId = int.Parse(comboBox3.SelectedValue.ToString()); } int brojRacuna = int.Parse(ukupnoRacuna.Text.ToString()); racun noviRacun = kontekst.racun.FirstOrDefault(r => r.racun_id == brojRacuna); noviRacun.servis_id = servisId; kontekst.SaveChanges(); } }
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); } } } }
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); } }