Beispiel #1
0
        private async void spasiPromjene(object parametar)
        {
            if (Obavljeno)
            {
                using (var db = new RRentingDbContext())
                {
                    brojSobe       = Convert.ToInt32(IzabranaSoba);
                    IzvrsenZahtjev = db.Zahtjevi.Where(x => x.obavljenZahtjev == false && x.brojSobe == brojSobe && x.nazivZahtjeva == IzabraniZahtjevSobe).FirstOrDefault();

                    // prvo uklanjam zahtjev iz baze
                    db.Zahtjevi.Remove(IzvrsenZahtjev);
                    db.SaveChanges();

                    //zatim vracam taj zahtjev u bazu uz oznaku da je izvrsen
                    IzvrsenZahtjev.obavljenZahtjev = true;
                    db.Zahtjevi.Add(IzvrsenZahtjev);
                    db.SaveChanges();

                    var dialog = new MessageDialog("Obaviili ste zahtjev: " + izabraniZahtjevSobe + " za sobu broj: " + IzabranaSoba + ".", "Obavijest");
                    await dialog.ShowAsync();

                    MyItemsSource.Clear();
                    MyItemsSource.CollectionChanged += MyItemsSource_CollectionChanged;
                }
            }
            else
            {
                var dialog = new MessageDialog("Niste izvršili nikakve izmjene!", "Obavijest");
                await dialog.ShowAsync();
            }
        }
        //Event dodavanja nove Sobe
        private void buttonDodaj_Click(object sender, RoutedEventArgs e)
        {
            int godina = Convert.ToInt32(GodinaInput.Text);
            int mjesec = Convert.ToInt32(MjesecInput.Text);
            int dan    = Convert.ToInt32(DanInput.Text);

            using (var db = new RRentingDbContext())
            {
                var contact = new Soba
                {
                    BrojSobe          = Convert.ToInt32(CijenaSobeInput.Text),
                    CijenaSobe        = (float)Convert.ToDouble(CijenaSobeInput.Text),
                    BrojKreveta       = Convert.ToInt32(BrojKrevetaInput.Text),
                    Status            = (StatusSobe)Enum.Parse(typeof(StatusSobe), StatusSobeListBox.SelectedItem.ToString()),
                    RezervisaniDatumi = new List <DateTime>(),
                };
                contact.RezervisaniDatumi.Add(new DateTime(godina, mjesec, dan));
                db.Sobe.Add(contact);
                //SaveChanges obavezno da se reflektuju izmjene u bazi, tek tada dolazi do komunikacije
                // sa bazom
                db.SaveChanges();

                BrojSobeInput.Text             = string.Empty;
                CijenaSobeInput.Text           = string.Empty;
                BrojKrevetaInput.Text          = string.Empty;
                StatusSobeListBox.SelectedItem = null;
                DanInput.Text    = string.Empty;
                MjesecInput.Text = string.Empty;
                GodinaInput.Text = string.Empty;


                //refresh liste restorana
                SobeIS.ItemsSource = db.Sobe.OrderBy(c => c.CijenaSobe).ToList();
            }
        }
        private void SaveObject()
        {
            //     using (var db = new RRentingDbContext())
            //   {
            //     gost = db.Gosti.Where(x => x.Email == Parent.PrijavljeniGost.Email && x.Sifra == Parent.PrijavljeniGost.Sifra && x.SigurnosniID == 0).FirstOrDefault();

            if (gost != null)
            {
                gost.dodijeliOcjenu(Convert.ToInt32(IzabranaOcjena));
            }
            //}

            //update changes
            using (var rdb = new RRentingDbContext())
            {
                rdb.Entry(gost).State = Microsoft.Data.Entity.EntityState.Modified;

                rdb.SaveChanges();
            }
        }
Beispiel #4
0
        private void Button_Click_Delete(object sender, RoutedEventArgs e)
        {
            //Dobavljanje objekta iz liste koji je kori[ten da se popuni red u listview
            DependencyObject dep = (DependencyObject)e.OriginalSource;

            while ((dep != null) && !(dep is ListViewItem))
            {
                dep = VisualTreeHelper.GetParent(dep);
            }
            if (dep == null)
            {
                return;
            }
            using (var db = new RRentingDbContext())
            {
                db.Gosti.Remove((Gost)KorisniciIS.ItemFromContainer(dep));
                db.SaveChanges();
                KorisniciIS.ItemsSource = db.Gosti.OrderBy(c => c.Ime).ToList();
            }
        }
        //Event za brisanje rezervacija
        private void Button_Click_Delete(object sender, RoutedEventArgs e)
        {
            //Dobavljanje objekta iz liste koji je kori[ten da se popuni red u listview
            DependencyObject dep = (DependencyObject)e.OriginalSource;

            while ((dep != null) && !(dep is ListViewItem))
            {
                dep = VisualTreeHelper.GetParent(dep);
            }
            if (dep == null)
            {
                return;
            }
            using (var db = new RRentingDbContext())
            {
                db.Rezervacije.Remove((Rezervacija)RezervacijeIS.ItemFromContainer(dep));
                //Nije jos obrisano dok nije Save
                db.SaveChanges();
                //Refresh liste restorana
                RezervacijeIS.ItemsSource = db.Rezervacije.OrderBy(c => c.cijena).ToList();
            }
        }
Beispiel #6
0
        //Event dodavanja novog Restorana
        private void buttonDodaj_Click(object sender, RoutedEventArgs e)
        {
            using (var db = new RRentingDbContext())
            {
                var contact = new Zahtjev
                {
                    nazivZahtjeva   = NazivInput.Text,
                    brojSobe        = Convert.ToInt32(SobaInput.Text),
                    obavljenZahtjev = Convert.ToBoolean(ObavljenInput.Text)
                };
                db.Zahtjevi.Add(contact);
                //SaveChanges obavezno da se reflektuju izmjene u bazi, tek tada dolazi do komunikacije s bazom
                db.SaveChanges();
                //reset polja za unos
                NazivInput.Text    = string.Empty;
                SobaInput.Text     = string.Empty;
                ObavljenInput.Text = string.Empty;

                //refresh liste restorana
                ZahtjeviIS.ItemsSource = db.Zahtjevi.OrderBy(c => c.nazivZahtjeva.ToList());
            }
        }
        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();
                    }
                }
            }
        }
        private async void dodajZahtjeve(object parametar)
        {
            using (var db = new RRentingDbContext())
            {
                //soba = db.Sobe.Where(x => x.BrojSobe == gost.brojSobe).FirstOrDefault();

                //validacija
                if (Zahtjev1 == false && Zahtjev2 == false && Zahtjev3 == false && Zahtjev4 == false)
                {
                    Poruka = "Niste dodali ni jedan zahtjev.";
                    //       NotifyPropertyChanged("Poruka");
                    var d = new MessageDialog(Poruka, "Poruka");
                    await d.ShowAsync();
                }
                else
                {
                    if (Zahtjev1 == true)
                    {
                        zahtjev                 = new Zahtjev();
                        zahtjev.brojSobe        = gost.brojSobe;
                        zahtjev.nazivZahtjeva   = "Pospremanje sobe";
                        zahtjev.obavljenZahtjev = false;
                        listaZahtjeva.Add(zahtjev);
                    }
                    if (Zahtjev2 == true)
                    {
                        zahtjev                 = new Zahtjev();
                        zahtjev.brojSobe        = gost.brojSobe;
                        zahtjev.nazivZahtjeva   = "Promjena posteljine";
                        zahtjev.obavljenZahtjev = false;
                        listaZahtjeva.Add(zahtjev);
                    }
                    if (Zahtjev3 == true)
                    {
                        zahtjev                 = new Zahtjev();
                        zahtjev.brojSobe        = gost.brojSobe;;
                        zahtjev.nazivZahtjeva   = "Bacanje otpada";
                        zahtjev.obavljenZahtjev = false;
                        listaZahtjeva.Add(zahtjev);
                    }
                    if (Zahtjev4 == true)
                    {
                        zahtjev                 = new Zahtjev();
                        zahtjev.brojSobe        = gost.brojSobe;
                        zahtjev.nazivZahtjeva   = "Servis";
                        zahtjev.obavljenZahtjev = false;
                        listaZahtjeva.Add(zahtjev);
                    }


                    foreach (Zahtjev z in listaZahtjeva)
                    {
                        db.Zahtjevi.Add(z);
                        db.SaveChanges();
                    }



                    var dialog = new MessageDialog("Zahtjevi su uspješno poslani za sobu: " + gost.brojSobe + "!\nŽelimo Vam ugodan boravak!", "Poslani zahtjevi");
                    await dialog.ShowAsync();

                    //ovo dole nesto nece
                    NavigationServis.Navigate(typeof(GostView), new GostViewModel(this.ParentPrijava));
                }
            }
        }