/// <summary> /// Provjera retervacije za slanje maila /// </summary> public void provjeriRezervacije() { using (var db = new ProgramskoInzenjerstvoDBEntities()) { int lokacijaID = Convert.ToInt32(ConfigurationManager.AppSettings["LokacijaID"]); foreach (Rezervacija rez in db.Rezervacijas.Where(x => x.izvrseno == false && x.lokacija == lokacijaID)) { List <Djelovi> listaDjelovaRezervacija = new List <Djelovi>(); foreach (Rezervacija_has_Djelovi rhd in rez.Rezervacija_has_Djelovi) { Djelovi dio = db.Djelovis.Where(x => x.id == rhd.int_djelovi).Single(); Lokacija_has_djelovi lhd = db.Lokacija_has_djelovi.Where(y => y.id_djelovi == dio.id && y.id_lokacija == lokacijaID).SingleOrDefault(); if (rhd.kolicina <= lhd.kolicina) { listaDjelovaRezervacija.Add(dio); } } if (listaDjelovaRezervacija.Count > 0 && listaDjelovaRezervacija.Count == rez.Rezervacija_has_Djelovi.Count) { string lokacijaAdresa = db.Lokacijas.Where(x => x.id == lokacijaID).Select(x => x.Adresa).SingleOrDefault(); pripremiMail(rez.kupacEmail, lokacijaAdresa, listaDjelovaRezervacija); Rezervacija rezervacija = db.Rezervacijas.Single(x => x.id == rez.id); rezervacija.izvrseno = true; } } db.SaveChanges(); } }
/// <summary> /// Funkcija za izdavanje računa /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bntIzdaj_Click(object sender, EventArgs e) { if (bl.Count == 0) { MessageBox.Show("Ne možete napraviti račun bez djelova"); } else { using (var db = new ProgramskoInzenjerstvoDBEntities()) { Racun noviRacun = new Racun(); noviRacun.zaposlenik = FrmGlavna.prijavljeniKorisnik.ID; noviRacun.datum = DateTime.Now; noviRacun.iznos = txtIznos.Text; noviRacun.Maloprodaja_veleprodaja = "Veleprodaja"; int lokacijaId = int.Parse(ConfigurationManager.AppSettings["LokacijaID"]); noviRacun.lokacija = lokacijaId; Trgovina trgovina = cboxTvrtka.SelectedItem as Trgovina; noviRacun.trgovina = trgovina.id; db.Racuns.Attach(noviRacun); db.Racuns.Add(noviRacun); db.SaveChanges(); Racun dodaniRacun = db.Racuns.OrderByDescending(x => x.id).First(); var listaZaIzbrisati = bl.Where(x => x.kolicina == 0).ToList(); listaZaIzbrisati.ForEach(x => bl.Remove(x)); foreach (Djelovi djelovi in bl) { Racun_Has_Djelovi rhd = new Racun_Has_Djelovi(); rhd.id_racun = dodaniRacun.id; rhd.id_djelovi = djelovi.id; rhd.kolicina = djelovi.kolicina; dodaniRacun.Racun_Has_Djelovi.Add(rhd); //Djelovi dioOduzmiKolicinu = db.Djelovis.First(x => x.id == djelovi.id); //dioOduzmiKolicinu.kolicina -= djelovi.kolicina; Lokacija_has_djelovi lhd = db.Lokacija_has_djelovi.Where(x => x.id_lokacija == lokacijaId && x.id_djelovi == djelovi.id).SingleOrDefault(); if (lhd != null) { lhd.kolicina -= djelovi.kolicina; djelovi.kolicina = 0; } } db.SaveChanges(); MessageBox.Show("Uspješno ste izdali novi račun"); } } }