Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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();
                }
            }
        }
Exemple #3
0
 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);
     }
 }
Exemple #4
0
        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));
        }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
 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();
     }
 }
Exemple #8
0
        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));
        }
Exemple #11
0
        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();
            }
        }
Exemple #12
0
        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;
            }
        }
Exemple #13
0
        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();
            }
        }
Exemple #14
0
 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);
             }
         }
     }
 }
Exemple #15
0
        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);
            }
        }