예제 #1
0
        private void bntIzdaj_Click(object sender, EventArgs e)
        {
            bool jeLiSvimDjelovimaDodanaKolicina = listaKupacRezervacija.Any(x => x.kolicina == 0);

            if (jeLiSvimDjelovimaDodanaKolicina)
            {
                MessageBox.Show("Molimo unesite količine proizvodima za rezervaciju");
            }

            else if (IsValid(txtKupacEmail.Text) && txtKupacIme.Text != "" && txtKupacPrezime.Text != "" && listaKupacRezervacija.Count != 0)
            {
                using (var db = new ProgramskoInzenjerstvoDBEntities())
                {
                    Rezervacija rez = new Rezervacija();
                    rez.kupacIme         = txtKupacIme.Text;
                    rez.kupacPrezime     = txtKupacPrezime.Text;
                    rez.kupacEmail       = txtKupacEmail.Text;
                    rez.izvrseno         = false;
                    rez.napravioNarudzbu = FrmGlavna.prijavljeniKorisnik.ID;
                    rez.lokacija         = Convert.ToInt32(ConfigurationManager.AppSettings["LokacijaID"]);
                    rez.datumIzdavanja   = DateTime.UtcNow;

                    db.Rezervacijas.Add(rez);

                    db.SaveChanges();

                    rez = null;
                    rez = db.Rezervacijas.OrderByDescending(x => x.id).First();

                    foreach (Djelovi dio in listaKupacRezervacija)
                    {
                        Rezervacija_has_Djelovi rhd = new Rezervacija_has_Djelovi();
                        rhd.id_rezervacija = rez.id;
                        rhd.int_djelovi    = dio.id;
                        rhd.kolicina       = dio.kolicina;

                        db.Rezervacija_has_Djelovi.Add(rhd);
                    }
                    db.SaveChanges();
                    MessageBox.Show("Uspjesno se dodali novu rezervaciju");
                    this.Close();
                }
            }
            else if (IsValid(txtKupacEmail.Text) == false)
            {
                MessageBox.Show("Molimo upišite pravilan mail");
            }
            else if (txtKupacIme.Text == "" || txtKupacPrezime.Text == "")
            {
                MessageBox.Show("Molimo upišite podatke");
            }
        }
        /// <summary>
        /// Popunjavanje podacima poslije inicijalizacije
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmRezervacijaPrikaz_Load(object sender, EventArgs e)
        {
            using (var db = new ProgramskoInzenjerstvoDBEntities())
            {
                Rezervacija r = (from x in db.Rezervacijas where x.id == rezervacijaID select x).SingleOrDefault();
                txtEmail.Text   = r.kupacEmail;
                txtIme.Text     = r.kupacIme;
                txtPrezime.Text = r.kupacPrezime;

                var model = (from x in db.Djelovis
                             join y in db.Rezervacija_has_Djelovi on x.id equals y.int_djelovi
                             where y.id_rezervacija == rezervacijaID
                             select new
                {
                    Naziv = x.naziv,
                    cijena = x.maloprodajnaCijena,
                    kolicina = y.kolicina
                }).ToList();
                dataGridView1.DataSource = new BindingSource(model, null);
            }
        }