Beispiel #1
0
        public async void ZajmijMiejsce(int nRezerwacji)
        {
            atrakcja.nRezerwacji = nRezerwacji;
            //Nierozuiem sensu
            using (var ctx = new DbModel())
            {
                ctx.TAtrakcja.Add(atrakcja); // dodaj, zarezerwuj
                ctx.SaveChanges();
            }

            await MSB.Print("Spa zarezerwowane na " + atrakcja.data.ToString());
        }
Beispiel #2
0
        public static async System.Threading.Tasks.Task <int> PobierzNrAsync(string czegonumer)
        {
            var    nr    = 0;
            string numer = "";

            numer = await MSB.Input("Podaj numer " + czegonumer);

            if (!Int32.TryParse(numer, out nr))
            {
                await MSB.Print("Podaj poprawne dane");

                return(0);
            }
            return(nr);
        }
Beispiel #3
0
        public async void Zamelduj(int nRezerwacji, int nrKlucza)
        {
            this.nrKlucza     = nrKlucza;        //klient zamedowany
            this.nRezerwacji  = nRezerwacji;
            this.czyZaplacono = true;


            await MSB.Print("Wydaj klucz do pokokju nr: " + nrKlucza);            // wydano klucz

            using (var ctx = new DbModel())
            {
                ctx.TMeldunki.Add(this);
                ctx.SaveChanges();
                await MSB.Print("Wpisałem w baze");
            }
        }
Beispiel #4
0
        public async void ZarezerwujAtrakcje(int nRezerwacji, string Rodzaj)
        {
            this.nRezerwacji = nRezerwacji;
            this.rodzaj      = Rodzaj;

            data = await MSB.InputDate();     // podaj date

            var time = await MSB.InputTime(); // podaj godzine

            try
            {
                data = CombineDateAndTime(data, time);
            }
            catch { await MSB.Print("Podaj poprawne dane"); return; }

            if (Sprawdz(rodzaj))
            {
                var res = await MSB.InputChoise(rodzaj + " jest zajęte\nWybierz typ rezerwacji lub inny czas", "Basen", "Spa");

                if (res == ContentDialogResult.Primary)
                {
                    rodzaj = "Basen";
                }
                else if (res == ContentDialogResult.Secondary)
                {
                    rodzaj = "Spa";
                }
                else
                {
                    await MSB.Print("Dokonaj wyboru");
                }

                ZarezerwujAtrakcje(nRezerwacji, rodzaj);
            }
            else
            {
                if (rodzaj == "Basen")
                {
                    new Basen(this).ZajmijMiejsce(nRezerwacji);
                }
                else
                {
                    new Spa(this).ZajmijMiejsce(nRezerwacji);
                }
            }
        }
Beispiel #5
0
        private async void Usterka_btn_Click(object sender, RoutedEventArgs e)
        {
            var usterka = new Usterka();


            try
            {
                int nrUsterki    = 0;
                int nrRezerwacji = 0;

                var numerUsterki = await MSB.Input("Podaj numer usterki");

                nrUsterki = int.Parse(numerUsterki);
                if (nrUsterki <= 0)
                {
                    return;
                }

                var numerRezerwacji = await MSB.Input("Podaj numer rezerwacji");

                nrRezerwacji = int.Parse(numerRezerwacji);
                if (nrRezerwacji <= 0)
                {
                    return;
                }

                var opis = await MSB.Input("Opisz");

                if (String.Compare(opis, "-1") == 0)
                {
                    return;                                 // anuluj
                }
                if (string.IsNullOrEmpty(opis))
                {
                    throw new ArgumentNullException();
                }


                usterka.DodajUsterke(nrRezerwacji, nrUsterki, opis);
            }
            catch
            {
                await MSB.Print("Podaj poprawne dane");
            }
        }
Beispiel #6
0
        private async void Wymeldowanie_btn_Click(object sender, RoutedEventArgs e)
        {
            var nr = await MSB.PobierzNRezerwacjiAsync();

            if (nr <= 0)
            {
                return;
            }

            var nrKlucza = await MSB.PobierzNrAsync("klucza");

            if (nrKlucza > 0)
            {
                return; // anulowano
            }

            new Meldunek().Wymelduj(nr, nrKlucza);
        }
Beispiel #7
0
        private async void btnLogin_Click(object sender, RoutedEventArgs e)
        {
            using (var db = new DbModel())// zapisz do db rezerwacje
            {
                int id = -1;
                if (!int.TryParse(txtId.Text, out id))
                {
                    await MSB.Print("Podaj poprawne dane");

                    return;
                }
                var usr = txtUser.Text;
                var psw = txtPassword.Password;

                if (db.TRecepcjonista.ToArray().Length == 0)
                {
                    db.TRecepcjonista.Add(new Users {
                        id = 0, login = "******", haslo = "admin"
                    });                                                                       // konto admina
                    db.SaveChanges();
                }

                foreach (var item in db.TRecepcjonista.ToArray())
                {
                    if (item.id == id)
                    {
                        if (item.login == usr)
                        {
                            if (item.haslo == psw)
                            {
                                //autoryzacja
                                var Recepcjonista = new Recepcjonista(usr, psw, id);
                                this.Frame.Navigate(typeof(Recepcjonista));
                            }
                        }
                    }
                    else
                    {
                        await MSB.Print("Brak autoryzacji");
                    }
                }
                //db.TRecepcjonista
            }
        }
Beispiel #8
0
        public async void DodajUsterke(int NrRezerwacji, int NrUsterki, string OpisUsterki)
        {
            CzyUsunieto       = false;
            this.NrRezerwacji = NrRezerwacji;
            this.nrUsterki    = NrUsterki;
            this.opisUsterki  = OpisUsterki;

            using (var ctx = new DbModel())
            {
                var ask = "SELECT opisUsterki From TUsterka WHERE nrUsterki == '" + opisUsterki + "'";


                var odp = ctx.TUsterka.Where(a => a.nrUsterki == nrUsterki);

                try
                {
                    var odp2 = odp.FirstOrDefault <Usterka>().opisUsterki;

                    if (String.Compare(odp2, opisUsterki) == 0)
                    {
                        CzyUsunieto = SprawdzStatus(nrUsterki);
                        if (CzyUsunieto)
                        {
                            this.CzyUsunieto = false;
                        }
                        else
                        {
                            await MSB.Print("Taka usterka jest w naprawie");

                            return;
                        }
                    }
                }
                catch
                {
                    // usterka taka nie istnieje
                }
                ctx.TUsterka.Add(this);
                ctx.SaveChanges();
                await MSB.Print("Dodno usterke");
            }
        }
Beispiel #9
0
        private async void Zameldowanie_btn_Click(object sender, RoutedEventArgs e)
        {
            var nr = await MSB.PobierzNRezerwacjiAsync();

            if (nr <= 0)
            {
                return;  // anulowano lub podano zly nr
            }

            var nrKlucza = await MSB.PobierzNrAsync("klucza");

            if (nrKlucza < 0)
            {
                return; // anulowano
            }

            // sprawdz czy zameldowany
            using (var ctx = new DbModel())
            {
                var tmp = ctx.TMeldunki.Where(a => a.nrKlucza == nrKlucza).ToArray();

                if (tmp.Count() != 0)
                {
                    if (tmp.FirstOrDefault().nrKlucza == nrKlucza)
                    {
                        // jestli dla danego nr rezerwacji jest wydany klujcz tzn. ze osoba jest juz zameldowana
                        await MSB.Print("Dla rezerwacji: " + nr + " wydano już klucz nr: " + nrKlucza);

                        return;
                    }
                } // wyrzuci błąd bo gdy nie ma nr klucza dla danego nr rezerwacji wartośc jest null em

                else
                {
                    var meldunek = new Meldunek {
                        nrKlucza = nrKlucza
                    };
                    meldunek.SprawdzPlatnosc(nr);
                }
            }
        }
Beispiel #10
0
        public async void AnulujRezerwacje(int nRezerwacji)
        {
            this.nRezerwacji = nRezerwacji;

            using (var ctx = new DbModel())
            {
                // var ask = "SELECT TRezerwacja FROM TMeldunek WHERE nRezerwacji == " + nRezerwacji;
                //  var tmp = ctx.TRezerwacja.FromSql(ask);
                var tmp = ctx.TRezerwacja.Where(a => a.nRezerwacji == nRezerwacji);
                try
                {
                    var item = tmp.FirstOrDefault();
                    //if (tmp.FirstOrDefault().nRezerwacji == nRezerwacji)
                    //{
                    Przyjazd = item.Przyjazd;
                    Dlugosc  = item.Dlugosc;

                    nrPokoju = item.nrPokoju;


                    ctx.Remove(ctx.TRezerwacja.Single(a => a.nRezerwacji == nRezerwacji));
                    await ctx.SaveChangesAsync();



                    var wyjazd = Przyjazd.AddDays(Dlugosc);


                    await MSB.Print(String.Format("Rezerwacja pokoju {0} dla {1} {2} usunięta od {3} do {4}", item.nrPokoju, item.imie, item.imie, Przyjazd.ToString(), wyjazd.ToString()));
                }
                catch
                {
                    await MSB.Print("Rezerwacja nr: " + nRezerwacji + " nie istnieje");
                }
            }
        }
Beispiel #11
0
        public async void Wymelduj(int nRezerwacji, int nrKlucza)
        {
            using (var ctx = new DbModel())
            {
                var tmp = ctx.TMeldunki.Where(a => a.nrKlucza == nrKlucza).ToArray();

                if (tmp.Count() == 0)
                {
                    await MSB.Print("Nie wydano klucza nr: " + nrKlucza);
                }
                else
                {
                    if (nRezerwacji != tmp.FirstOrDefault().nRezerwacji)
                    {
                        await MSB.Print("Dla rezerwacji nr: " + nRezerwacji + " nie wydano klucza nr: " + nrKlucza);

                        return;
                    }
                    ctx.Remove(tmp[0]);
                    ctx.SaveChanges();
                    await MSB.Print("Wypisałem z bazy");
                }
            }
        }
Beispiel #12
0
        public async void DodajRezerwacje(string imie, string nazwisko, int pesel, string adres, int nRezerwacji, int nrPokoju)
        {
            this.imie     = imie;
            this.nazwisko = nazwisko;
            this.pesel    = pesel;
            this.adres    = adres;



            Przyjazd = await MSB.InputDate();

            double dlugosc;

            if (!double.TryParse(await MSB.Input("Podaj ilość dni"), out dlugosc))
            {
                await MSB.Print("Podaj poprawne dane");
            }

            Dlugosc          = dlugosc;
            this.nRezerwacji = nRezerwacji;
            this.nrPokoju    = nrPokoju;

            //baza musi zawierac nr pokojow


            using (var ctx = new DbModel())
            {
                var wolnepokoje = new List <int>();



                int i = nrPokoju; // sprawdza pokoj ktory podano


                var rezerwacjewpokoju = ctx.TRezerwacja.Where(a => a.nrPokoju == i);

                int lwarunkow = 0;

                foreach (var item in rezerwacjewpokoju)
                {
                    try
                    {
                        DateTime wyjazdzpokoju = item.Przyjazd.AddDays(item.Dlugosc); // opuszczenie pokoju hotelowego

                        DateTime wyjazdgoscia = this.Przyjazd.AddDays(this.Dlugosc);  // opuszczenie pokoju przez goscia

                        if (wyjazdzpokoju < this.Przyjazd)
                        {
                            // po terminie zajetego pokoju
                            lwarunkow++;
                        }
                        else if (wyjazdgoscia < item.Przyjazd)
                        {
                            // przed terminem zajetego pokoju
                            lwarunkow++;
                        }
                    }
                    catch { }
                }

                if (lwarunkow == rezerwacjewpokoju.Count())
                {
                    wolnepokoje.Add(i); // kazder rezerwacji nie przeszkadza termin
                }



                if (wolnepokoje.Count == 0)
                {
                    var res = await MSB.InputChoise("Brak wolnych pokoi\nWprowadź inny termin\n", "Szukaj dalej", "Rezygnuj");

                    if (res == Windows.UI.Xaml.Controls.ContentDialogResult.Primary)
                    {
                        //szukaj dalej
                        DodajRezerwacje(imie, nazwisko, pesel, adres, nRezerwacji, nrPokoju);
                        return;
                    }
                    else
                    {
                        //anulowano albo zrezygnowano
                        await MSB.Print("Zrezygnowano"); // zrezygnowano

                        return;
                    }
                }


                string str = "wolnego pokoju spośród: ";

                foreach (var item in wolnepokoje)
                {
                    str += item;
                    str += ", ";
                }

                while (true)
                {
                    var res = await MSB.PobierzNrAsync(str);  // zapytaj ktory pokój

                    foreach (var item in wolnepokoje)
                    {
                        if (item == res)
                        {//podano poprawny wolny nr pokoju
                            ctx.Add(this);
                            ctx.SaveChanges();
                            await MSB.Print(String.Format("Dodałem rezerwację on numerze {0} dla {1} {2} na {3}", nRezerwacji, imie, nazwisko, Przyjazd));

                            return;
                        }
                        else
                        {
                            await MSB.Print("Wybierz poprawny numer");
                        }
                    }
                }
            }
        }
Beispiel #13
0
        private async void Spr_Rezerwazje_btn_Click(object sender, RoutedEventArgs e)
        {
            var odp = await MSB.InputChoise("Rezerwacja: ", "Dodaj nową rezerwację", "Sprawdź już istniejącą");

            switch (odp)
            {
            case ContentDialogResult.Primary:
            {
                var nr = await MSB.PobierzNRezerwacjiAsync();

                if (nr <= 0)
                {
                    return;          // anulowano lub podano zly nr
                }

                var rezerwacja = new Rezerwacja();


                var imie = await MSB.Input("Podaj imię");

                if (String.Compare(imie, "-1") == 0)
                {
                    return;                                          // anulowano
                }
                var nazwisko = await MSB.Input("Podaj nazwisko");

                if (String.Compare(nazwisko, "-1") == 0)
                {
                    return;                                              // anulowano
                }
                var pesel = await MSB.PobierzNrAsync("pesel");

                if (pesel < 0)
                {
                    return;                    // anulowano
                }
                var nrPokoju = await MSB.PobierzNrAsync("pokoju");

                if (nrPokoju < 0)
                {
                    return;                       // anulowano
                }
                var adres = await MSB.Input("Podaj adres");

                if (String.Compare(adres, "-1") == 0)
                {
                    return;                                           // anulowano
                }
                rezerwacja.DodajRezerwacje(imie, nazwisko, pesel, adres, nr, nrPokoju);
            }
            break;

            case ContentDialogResult.Secondary:
            {
                var nr = await MSB.PobierzNRezerwacjiAsync();

                if (nr <= 0)
                {
                    return;         // anulowano lub podano zly nr
                }

                var rezerwacja = new Rezerwacja();

                if (rezerwacja.SprawdzRezerwacje(nr))
                {
                    //wyswietl anuluj
                    var res = await MSB.InputChoise("Rezerwacja nr: " + nr + " znajduje się w systemie", "Wyświetl szczegóły", "Anuluj rezerwacje");

                    switch (res)
                    {
                    case ContentDialogResult.None:
                    {
                        //anulowano
                        break;
                    }

                    case ContentDialogResult.Primary:
                    {
                        // wyswietl

                        using (var ctx = new DbModel())
                        {
                            try
                            {
                                var tmp = ctx.TRezerwacja.Where(a => a.nRezerwacji == nr).FirstOrDefault();

                                var str = string.Format("Dla numeru rezerwacji {0} zarejestrono osobe {1} {2}, pesel: {3}, adres: {4}", tmp.nRezerwacji, tmp.imie, tmp.nazwisko, tmp.pesel, tmp.adres);

                                await MSB.Print(str);
                            }
                            catch
                            {
                            }
                        }
                        break;
                    }

                    case ContentDialogResult.Secondary:
                    {
                        // anuluj rezerwacje
                        rezerwacja.AnulujRezerwacje(nr);
                        break;
                    }
                    }
                }
                else
                {
                    await MSB.Print("Rezerwacja o numerze: " + nr + "\nnie istnieje w systemie.");
                }
            }
            break;
            }
        }
Beispiel #14
0
 private async Task Cash()
 {
     await MSB.Print("Przyjmij gotówkę");
 }
Beispiel #15
0
 private async Task Card()
 {
     await MSB.Print("Postępuj według terminala"); // jakoś tak piszą.. na kasach
 }