private async void rezervisi(object parametar) { using (var db = new RRentingDbContext()) { //validacija if (Convert.ToInt32(BrojOdraslih) == 0) { var d = new MessageDialog("Unesite broj odraslih", "Neuspješna rezervacija"); await d.ShowAsync(); } else if (Dolazak.Date == DateTime.Now && Odlazak.Date == DateTime.Now) { var d = new MessageDialog("Molimo unesite ispravan datum dolaska i odlaska.", "Neuspješna rezervacija"); await d.ShowAsync(); } //uspjela validacija else { nacin_str = IzabraniNacin; if (nacin_str == "Gotovinsko") { nacin = NacinPlacanja.Gotovinsko; } else { nacin = NacinPlacanja.Karticom; } Rezervacija nova = new Rezervacija(Convert.ToInt32(BrojOdraslih), Convert.ToInt32(BrojDjece), Dolazak, Odlazak, Parking, Ljubimac, Krevet, nacin); Soba slobodnaSoba = DataSource.DataSourceRRenting.dajSlobodnuSobu(nova); if (slobodnaSoba.CijenaSobe != 0) { int tiket = rnd.Next(1000); using (var rdb = new RRentingDbContext()) { if (rv) { //gost se dodaje u bazu tek kada ce se rezervacija izvrsiti db.Gosti.Add(parent.RegistrovaniKorisnik); db.SaveChanges(); gost = db.Gosti.Where(x => x.Email == parent.RegistrovaniKorisnik.Email && x.Sifra == parent.RegistrovaniKorisnik.Sifra && x.SigurnosniID == 0).FirstOrDefault(); } else { // -||- db.Gosti.Add(parent2.RegistrovaniKorisnik); db.SaveChanges(); gost = gost = db.Gosti.Where(x => x.Email == parent2.RegistrovaniKorisnik.Email && x.Sifra == parent2.RegistrovaniKorisnik.Sifra && x.SigurnosniID == 0).FirstOrDefault(); } if (gost != null) { gost.brojSobe = slobodnaSoba.BrojSobe; gost.dodijeliTiket(tiket); //update changes using (var rr = new RRentingDbContext()) { rr.Entry(gost).State = Microsoft.Data.Entity.EntityState.Modified; rr.SaveChanges(); } nova.izracunajCijenu(Dolazak, Odlazak, slobodnaSoba); slobodnaSoba.Status = StatusSobe.Rezervisana; db.Rezervacije.Add(nova); db.SaveChanges(); var dialog = new MessageDialog("Vaš broj tiketa: " + tiket.ToString(), "Rezervacija uspješna"); await dialog.ShowAsync(); if (rv == false) { NavigationServis.Navigate(typeof(RecepcionerView), new RecepcionerViewModel(nova)); } if (rv == true) { NavigationServis.Navigate(typeof(Pocetna)); } } } } else { NavigationServis.Navigate(typeof(Login)); var d = new MessageDialog("U tom periodu nemamo soba koje odgovaraju Vašim zahtjevima.", "Žao nam je"); await d.ShowAsync(); } } } }