public bool PlaceOrder(int user, DateTime when, int table, Potrawa dish) { try { var potrawa = db.Potrawy.FirstOrDefault(x => x.Id_potrawy == dish.Id_potrawy); var rezerwacje = new Rezerwacje() { Id_klienta = user, Numer_stolika = table, Rezerwacja_od = when, Rezerwacja_do = when.AddHours(1), }; db.Rezerwacje.Add(rezerwacje); db.Rezerwacje_Potrawy.Add(new Rezerwacje_Potrawy() { id_zamowienia = rezerwacje.Id_rezerwacji, id_potrawy = potrawa.Id_potrawy }); db.SaveChanges(); } catch (Exception) { Console.WriteLine("Błąd przy próbie zapisu do bazy"); return(false); } return(true); }
public List <RezerwacjaDto> GetRezerwacjaDtos() { var result = new List <RezerwacjaDto>(); foreach (var rez in db.Rezerwacje_Potrawy) { var potrawa = new Potrawa() { Cena = rez.Potrawy.Cena, Id_potrawy = rez.Potrawy.Id_potrawy, Nazwa = rez.Potrawy.Nazwa }; result.Add(new RezerwacjaDto() { Nazwisko = rez.Rezerwacje.Klienci.Nazwisko, Id_rezerwacji = rez.id_zamowienia, NumerStolika = rez.Rezerwacje.Numer_stolika, Potrawa = potrawa, RezerwacjaOd = rez.Rezerwacje.Rezerwacja_od }); } return(result); }
public override void Execute() { Choice choice; string dateInfo; string tableInfo; string dishesInfo; Repository repo = new Repository(); do { var date = DatePick(); reservation = HourPick(date); Console.Clear(); dateInfo = "Data rezerwacji: " + reservation.ToShortDateString() + " w godzinach: " + reservation.ToShortTimeString() + "-" + reservation.AddHours(1).ToShortTimeString(); Console.WriteLine(dateInfo); Console.WriteLine("Zatwierdzić datę rezerwacji?"); choice = isGood(); if (choice == Choice.CANCEL) { return; } } while (choice == Choice.NO); do { tableNr = TablePick(); Console.Clear(); tableInfo = "Stolik: " + tableNr; Console.WriteLine(tableInfo); Console.WriteLine("Zatwierdzić wybrany stolik?"); choice = isGood(); if (choice == Choice.CANCEL) { return; } } while (choice == Choice.NO); do { dishes = DishesPick(); zamowienie = repo.GetPotrawy()[dishes - 1]; dishesInfo = "Zamówiono " + zamowienie.Nazwa + " " + zamowienie.Cena + "zł"; Console.WriteLine(dishesInfo + "\nZatwierdzić wybraną potrawę?"); choice = isGood(); if (choice == Choice.CANCEL) { return; } } while (choice == Choice.NO); Console.Clear(); Console.WriteLine("Zamówienie:"); Console.WriteLine(dateInfo); Console.WriteLine(tableInfo); Console.WriteLine(dishesInfo); Console.WriteLine("Zamawiam! [T]-Tak/[A]-Anuluj"); var key = Pick.ForceProperKey(new List <ConsoleKey> { ConsoleKey.T, ConsoleKey.A }); if (key == ConsoleKey.T) { if (repo.PlaceOrder(userID, reservation, tableNr, zamowienie)) { Console.Clear(); Console.WriteLine("Sukces! Zamówienie złożone!"); } else { Console.Clear(); Console.WriteLine("Błąd przy składaniu zamówienia"); } Thread.Sleep(2000); return; } else { return; } }