Exemplo n.º 1
0
 //pri load event povuci sve restorane i povezati ih sa list view
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     using (var db = new RRentingDbContext())
     {
         ZahtjeviIS.ItemsSource = db.Zahtjevi.OrderBy(c => c.nazivZahtjeva).ToList();
     }
 }
 //pri load event povuci sve rezervacije i povezati ih sa list view
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     using (var db = new RRentingDbContext())
     {
         RezervacijeIS.ItemsSource = db.Rezervacije.OrderBy(c => c.cijena).ToList();
     }
 }
        //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();
            }
        }
Exemplo n.º 4
0
        private async void prikazListeZahtjeva(object parametar)
        {
            if (IzabranaSoba != null)
            {
                brojSobe = Convert.ToInt32(IzabranaSoba);
                var dialg = new MessageDialog("Izabrali ste sobu: " + brojSobe, "Obavijest");
                await dialg.ShowAsync();

                MyItemsSource.Clear();
                using (var db = new RRentingDbContext())
                {
                    foreach (Zahtjev z in db.Zahtjevi)
                    {
                        if (z.obavljenZahtjev == false && z.brojSobe == brojSobe)
                        {
                            MyItemsSource.Add(z.nazivZahtjeva);
                        }
                    }
                }


                MyItemsSource.CollectionChanged += MyItemsSource_CollectionChanged;
            }
            else
            {
                var dialg = new MessageDialog("Niste izabrali broj sobe!", "Obavijest");
                await dialg.ShowAsync();
            }
        }
Exemplo n.º 5
0
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     using (var db = new RRentingDbContext())
     {
         KorisniciIS.ItemsSource = db.Gosti.OrderBy(c => c.Prezime).ToList();
     }
 }
Exemplo n.º 6
0
        public async void loginUposlenik(object parametar)
        {
            var UnosPassBox = parametar as PasswordBox;

            UnosPass = UnosPassBox.Password;


            using (var db = new RRentingDbContext())
            {
                int unos = int.Parse(UnosID);
                PrijavljeniUposlenik = DataSourceRRenting.ProvjeraUposlenika(UnosMail, UnosPass, unos);


                if (PrijavljeniUposlenik.Email != null && PrijavljeniUposlenik.Sifra != null && PrijavljeniUposlenik.SigurnosniID != 0)
                {
                    if (PrijavljeniUposlenik is Sef && PrijavljeniUposlenik.SigurnosniID == unos)
                    {
                        NavigationServis.Navigate(typeof(SefView), new SefViewModel(this));
                    }
                    else if (PrijavljeniUposlenik is Osoblje)
                    {
                        NavigationServis.Navigate(typeof(OsobljeView), new OsobljeViewModel(this));
                    }
                    else if (PrijavljeniUposlenik is Recepcioner)
                    {
                        NavigationServis.Navigate(typeof(RecepcionerView), new RecepcionerViewModel(this));
                    }
                }
                else
                {
                    var dialog = new MessageDialog("Pogrešno korisničko ime/šifra!", "Neuspješna prijava");
                    await dialog.ShowAsync();
                }
            }
        }
        private async void sobe(object parametar)
        {
            Boolean find = false;

            using (var db = new RRentingDbContext())
            {
                foreach (var g in db.Gosti)
                {
                    if ((g.datumOdlaska.Day + g.datumOdlaska.Year + g.datumOdlaska.Month) <= (DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day))
                    {
                        foreach (Soba s in DataSource.DataSourceRRenting.DajSveSobe())
                        {
                            if (g.brojSobe == s.BrojSobe)
                            {
                                s.Status = StatusSobe.Slobodna;
                                find     = true;
                                var dialog = new MessageDialog("Ažurirali ste status rezervisanih soba u slobodne.");
                                await dialog.ShowAsync();

                                break;
                            }
                        }
                    }
                    if (find)
                    {
                        break;
                    }
                }
            }
            if (!find)
            {
                var d = new MessageDialog("Podaci su već ažurirani.");
                await d.ShowAsync();
            }
        }
Exemplo n.º 8
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();
            }
        }
 //pri load event povuci sve sobe i povezati ih sa list view
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     using (var db = new RRentingDbContext())
     {
         SobeIS.ItemsSource = db.Sobe.OrderBy(c => c.CijenaSobe).ToList();
     }
 }
Exemplo n.º 10
0
        /// <summary>
        /// Initializes the singleton application object.  This is the first line of authored code
        /// executed, and as such is the logical equivalent of main() or WinMain().
        /// </summary>
        public App()
        {
            using (var db = new RRentingDbContext())
            {
                db.Database.ApplyMigrations();
                DefaultPodaci.Initialize(db);
            }

            Microsoft.ApplicationInsights.WindowsAppInitializer.InitializeAsync(
                Microsoft.ApplicationInsights.WindowsCollectors.Metadata |
                Microsoft.ApplicationInsights.WindowsCollectors.Session);
            this.InitializeComponent();
            this.Suspending += OnSuspending;
        }
        public Statistika()
        {
            this.InitializeComponent();


            NavigationCacheMode = NavigationCacheMode.Required;


            using (var db = new RRentingDbContext())
            {
                foreach (var g in db.Gosti)
                {
                    iznosi.Add(g.dajOcjenu());
                }
            }

            LoadChartContents();
        }
        public GostViewModel(PrijavaViewModel parent)
        {
            NavigationServis = new NavigationService();
            this.Parent      = parent;

            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)
                {
                    Ocjene = _myList;

                    Dodaj = new RelayCommand <object>(dodajZahtjev, mozeLiDodatiZahtjev);
                    Izlaz = new RelayCommand <object>(izlaz, mozeLiIzaci);
                }
            }
        }
Exemplo n.º 13
0
        private async void signup(object parametar)
        {
            var UnosPassBox1 = parametar as PasswordBox;

            UPassword = UnosPassBox1.Password;
            using (var db = new RRentingDbContext())
            {
                //validacija:
                if (UIme.Length == 0 || UPrezime.Length == 0 || UAdresa.Length == 0 || UTelefon.Length == 0 || UPassword.Length == 0 || UEmail.Length == 0)
                {
                    var dialog = new MessageDialog("Unesite sve tražene podatke", "Neuspješna prijava");
                    await dialog.ShowAsync();
                }
                else if (UIme.Length < 3 || UPrezime.Length < 3 || UAdresa.Length < 3)
                {
                    var dialog = new MessageDialog("Prekratki su ime/prezime/adresa.", "Neuspješna prijava");
                    await dialog.ShowAsync();
                }
                else if (UTelefon.Length < 6)
                {
                    var dialog = new MessageDialog("Neispravan format telefona", "Neuspješna prijava");
                    await dialog.ShowAsync();
                }

                else if (UPassword.Length < 4 || !UEmail.Contains("@") || !UEmail.Contains("."))
                {
                    var dialog = new MessageDialog("Password je prekratak/Email nije ispravan.", "Neuspješna prijava");
                    await dialog.ShowAsync();
                }

                else
                {
                    var dialog = new MessageDialog("Prijava uspješno završena.Dobrodošli!", "Uspješna prijava");
                    await dialog.ShowAsync();

                    RegistrovaniKorisnik = new Gost(UIme, UPrezime, UTelefon, UAdresa, UPassword, UEmail, 0);
                    //db.Gosti.Add(RegistrovaniKorisnik); -> gost se dodaje u bazu nakon sto je rezervacija moguca


                    NavigationServis.Navigate(typeof(RezervacijaView), new RezervacijaViewModel(this));
                }
            }
        }
        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();
            }
        }
Exemplo n.º 15
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();
            }
        }
Exemplo n.º 16
0
        public OsobljeViewModel(PrijavaViewModel parent)
        {
            NavigationServis = new NavigationService();
            this.Parent      = parent;
            ListaSoba        = new List <String>();
            MyItemsSource    = new ObservableCollection <String>();

            using (var db = new RRentingDbContext())
            {
                foreach (Zahtjev z in db.Zahtjevi)
                {
                    if (z.obavljenZahtjev == false && !ListaSoba.Contains(z.brojSobe.ToString()))
                    {
                        ListaSoba.Add(z.brojSobe.ToString());
                    }
                }
            }

            PrikaziZahtjeve = new RelayCommand <object>(prikazListeZahtjeva);
            SpasiPromjene   = new RelayCommand <object>(spasiPromjene, mozeLiUpdateovati);
        }
        //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();
            }
        }
Exemplo n.º 18
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());
            }
        }
Exemplo n.º 19
0
        public async void loginGost(object parametar)
        {
            var UnosPassBox = parametar as PasswordBox;

            UnosPass = UnosPassBox.Password;


            using (var db = new RRentingDbContext())
            {
                PrijavljeniGost = db.Gosti.Where(x => x.Email == UnosMail && x.Sifra == UnosPass && x.SigurnosniID == 0).FirstOrDefault();

                if (PrijavljeniGost != null)
                {
                    NavigationServis.Navigate(typeof(GostView), new GostViewModel(this));
                }

                else
                {
                    var dialog = new MessageDialog("Pogrešno korisničko ime/šifra!", "Neuspješna prijava");
                    await dialog.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));
                }
            }
        }
        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();
                    }
                }
            }
        }