public List <Person> SelectAllPerson() { using (var db = new I4DAB_HandIn2Context()) { var persons = db.Person.ToList(); Console.WriteLine("Tilgængelige personer:"); foreach (var person in persons) { Console.Write("Navn: "); Console.WriteLine(person.Name); Console.Write("ID: "); Console.WriteLine(person.PersonId); if (db.Waiter.Where(w => w.PersonId == person.PersonId).Any()) { Console.WriteLine("Er waiter"); } if (db.Guest.Where(g => g.FkPersonId == person.PersonId).Any()) { Console.WriteLine("Er gæst"); } Console.WriteLine(); } Console.WriteLine(); return(persons.ToList()); } }
public List <Review> SelectAllReview() { using (var db = new I4DAB_HandIn2Context()) { var review = db.Review.ToList(); return(review); } }
public List <Dish> SelectAllDish() { using (var db = new I4DAB_HandIn2Context()) { var dish = db.Dish.ToList(); return(dish.ToList()); } }
public List <TableIns> SelectAllTable() { using (var db = new I4DAB_HandIn2Context()) { var tableIns = db.TableIns.ToList(); return(tableIns.ToList()); } }
public List <WaiterTableIns> SelectAllWaiterTablelns() { using (var db = new I4DAB_HandIn2Context()) { var waiterTableIns = db.WaiterTableIns.ToList(); return(waiterTableIns.ToList()); } }
public void selectAllTypes() { using (var db = new I4DAB_HandIn2Context()) { Console.WriteLine("Restauranters typer:"); var rests = db.Restaurant.Select(r => r.Type).Distinct().ToList(); foreach (var rest in rests) { Console.WriteLine("\t" + rest); } Console.WriteLine(); } }
public void SelectAllTabletoRestaurant(string addresse) { using (var db = new I4DAB_HandIn2Context()) { var rest = db.Restaurant.Where(r => r.Address.Equals(addresse)).First(); Console.WriteLine("Borde for restaurant " + rest.Name); foreach (var table in rest.TableIns) { Console.WriteLine("Bord nr. " + table.Number); } Console.WriteLine(); } }
public List <Restaurant> SelectAllResturant() { using (var db = new I4DAB_HandIn2Context()) { var resturants = db.Restaurant.ToList(); foreach (var rest in resturants) { Console.WriteLine(rest.Name); Console.WriteLine("Type: " + rest.Type); Console.WriteLine("Addresse: " + rest.Address); Console.WriteLine(); } return(resturants.ToList()); } }
public List <Waiter> ReadWaiter() { using (var db = new I4DAB_HandIn2Context()) { var waiters = db.Waiter.ToList(); Console.WriteLine("Waiters:"); foreach (var waiter in waiters) { Console.WriteLine("ID: " + waiter.WaiterId); Console.WriteLine("Navn: " + waiter.Person.Name); Console.WriteLine("Løn: " + waiter.Salary); Console.WriteLine(); } return(waiters); } }
public List <Guest> SelectAllGuestFromRestaurant(string addresse) { using (var db = new I4DAB_HandIn2Context()) { Console.WriteLine("Gæster på bordene i restauranten:"); var tables = db.TableIns.Where(t => t.Addresse.Equals(addresse)); var guestsCollection = from t in tables select t.Guest; foreach (var guests in guestsCollection) { foreach (var guest in guests) { Console.WriteLine("ID: " + guest.GuestId); var person = db.Person.Where(p => p.PersonId == guest.FkPersonId).First(); Console.WriteLine("Navn: " + person.Name); var dishnumbers = db.GuestDish.Where(d => d.GuestId == guest.GuestId); var dishes = from dn in dishnumbers select dn.Dish; Console.WriteLine("Spiste retter:"); foreach (var dish in dishes) { Console.WriteLine("\tNavn: " + dish.Name); Console.WriteLine("\tPris: " + dish.Price); Console.WriteLine("\tType: " + dish.Type); Console.WriteLine("-----------------"); } if (db.Review.Where(r => r.ReviewId == guest.ReviewId).Any()) { var review = db.Review.Where(r => r.ReviewId == guest.ReviewId).First(); Console.WriteLine("Review: " + review.Text); Console.WriteLine("Stjerner: " + review.Stars); Console.WriteLine(); } Console.WriteLine(); } } return(null); } }
double ReviewAverage(string address) { double average = 0; int? totalStars = 0; int starAmount = 0; using (var db = new I4DAB_HandIn2Context()) { var reviewliste = db.Review.Where(r => r.AddresseNavigation.Address == address); foreach (var review in reviewliste) { totalStars += review.Stars; starAmount++; } } average = (double)totalStars / starAmount; return(average); }
//view 2. (restaurant addr) -> menu - dishes, price, avg rating public void SelectRestaurantMenu2(string address) { using (var db = new I4DAB_HandIn2Context()) { var rest = db.Restaurant.Where(r => r.Address.Equals(address)); Console.WriteLine("Menu for restaurant " + rest.First().Name + ":"); var dishesid = db.RestaurantDish.Where(r => r.Addresse.Equals(address)); var dishes = from rd in dishesid select rd.Dish; foreach (var dish in dishes) { Console.WriteLine("\t" + dish.Name); Console.WriteLine("\t" + dish.Type); Console.WriteLine("\t" + dish.Price + " kr."); var reviews = db.Review.Where(r => r.DishId == dish.DishId); Console.WriteLine("\t" + reviews.Average(r => r.Stars) + " stjerner"); Console.WriteLine(); } } }
//view 1. (type) -> list all restaurants with give type and their average rating + latest 5 review text public void getAllWithType(string type) { using (var db = new I4DAB_HandIn2Context()) { List <Restaurant> restlist = db.Restaurant.Where(t => t.Type.Equals(type)).ToList(); Console.WriteLine("Restauranter af type " + type + ":"); foreach (var rest in restlist) { Console.WriteLine(rest.Name); var reviews = db.Review.Where(r => r.Addresse.Equals(rest.Address)); double?rating = (double?)reviews.Average(r => r.Stars); Console.WriteLine("\t Gennemsnit review: " + rating); foreach (var review in reviews.Take(5)) { Console.WriteLine("\tReview: " + review.Text); } Console.WriteLine("--------"); } } }
//View 3. (restaurant addr) -> information about guests reviews for dishes based on table public void getReviewsBasedOnTable(string addresse) { using (var db = new I4DAB_HandIn2Context()) { var rest = db.Restaurant.Where(r => r.Address.Equals(addresse)).First(); Console.WriteLine("Restaurant " + rest.Name + ":"); var tables = db.TableIns.Where(t => t.Addresse.Equals(addresse)); foreach (var table in tables) { Console.WriteLine("\tBord " + table.Number + ":"); var guests = db.Guest.Where(g => g.TableId == table.TableId); foreach (var guest in guests) { Console.WriteLine("\t\tGæst ved " + guest.Reservation + ":"); Console.Write("\t\tHar spist "); var dishnumbers = db.GuestDish.Where(d => d.GuestId == guest.GuestId); var dishes = from dn in dishnumbers select dn.Dish; foreach (var dish in dishes) { Console.Write(dish.Name + ", "); } Console.WriteLine(); Console.WriteLine("\t\tReview: "); if (db.Review.Where(r => r.ReviewId == guest.ReviewId).Any()) { var review = db.Review.Where(r => r.ReviewId == guest.ReviewId).First(); Console.WriteLine("\t\t" + review.Text + ", " + review.Stars + " stjerner"); } Console.WriteLine(); } } } }
public void SelectTypeRestaurants(string type) { using (var db = new I4DAB_HandIn2Context()) { } }
public SelectSpecifikSQL(I4DAB_HandIn2Context db_) { db = db_; selectAllSQL = new SelectAllSQL(); }
public InsertSQL(I4DAB_HandIn2Context db_) { db = db_; }
static void Main(string[] args) { I4DAB_HandIn2Context db = new I4DAB_HandIn2Context(); var create = new InsertSQL(db); var selectAll = new SelectAllSQL(); var select = new SelectSQL(); var selectspecific = new SelectSpecifikSQL(db); string menu = "mainMenu"; string resturantMenu = "mainMenu"; string adminMenu = "mainMenu"; string userAddresse; Restaurant nyrest = new Restaurant(); bool runner = true; while (runner) { switch (menu) { case "mainMenu": // Main menu Console.Clear(); Console.WriteLine("Velkommen til Restaurant adminstration."); Console.WriteLine("---------------------------------"); Console.WriteLine("(a): Tilføj restaurant"); Console.WriteLine("(e): Vælg eksisterende restaurant"); Console.WriteLine("(r): Vis alle restauranter"); Console.WriteLine("(t): Vis alle restauranter af type"); Console.WriteLine("(x): Exit program"); Console.WriteLine("---------------------------------"); string us = Console.ReadLine(); Console.Clear(); String addresse = ""; switch (us) { case "a": do { Console.Clear(); Console.Write("Skriv navn: "); string name = Console.ReadLine(); Console.Write("Skriv addresse: "); addresse = Console.ReadLine(); Console.Write("Skriv type restaurant: "); string type = Console.ReadLine(); var rest = new Restaurant() { Name = name, Address = addresse, Type = type }; try { create.addRestaurant(ref rest); } catch (Exception) { Console.WriteLine("Fejled save resturant"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tilføjet. Tryk (i) for at tilføje en ny Restaurant"); } while (Console.ReadLine().Equals("i")); break; case "e": Console.WriteLine("Skriv addresse for at vælge restaurant"); userAddresse = Console.ReadLine(); Console.WriteLine("Indlæser... \n"); try { nyrest = selectspecific.getRestaurant(userAddresse); menu = "Resturant"; } catch (Exception) { Console.WriteLine("Fejlede Indlæser resturant"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } break; case "r": Console.WriteLine("Indlæser... \n"); try { selectAll.SelectAllResturant(); } catch (Exception) { Console.WriteLine("Fejlede Indlæser restaurant"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); break; case "x": runner = false; break; case "t": Console.WriteLine("Indlæser... \n"); try { Console.Clear(); selectAll.selectAllTypes(); Console.Write("Skriv en type: "); string type = Console.ReadLine(); select.getAllWithType(type); } catch (Exception) { Console.WriteLine("Fejlede Indlæser restaurant"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); break; default: Console.WriteLine("Forkert indtastning"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); break; } break; case "Resturant": switch (resturantMenu) { case "mainMenu": Console.Clear(); Console.WriteLine("Velkommen til: " + nyrest.Name.ToString()); Console.WriteLine("På addressen: " + nyrest.Address.ToString()); Console.WriteLine("---------------------------------"); Console.WriteLine ( "0: Tilbage til main menu" + "\n" + "1: Vis restaurantens menu" + "\n" + "2: Tilføj en dish" + "\n" + "3: Tilføj et review til en dish" + "\n" + "4: Få vist et review for en dish" + "\n" + "5: Adminstraterer restauranten" ); Console.WriteLine("---------------------------------"); string menuInput = Console.ReadLine(); switch (menuInput) { case "0": menu = "mainMenu"; break; case "1": resturantMenu = "menuShowMenu"; break; case "2": resturantMenu = "menuNewDish"; break; case "3": resturantMenu = "menuNewReview"; break; case "4": resturantMenu = "menuShowReviews"; break; case "5": resturantMenu = "menuAdmin"; break; default: Console.WriteLine("Forkert indtastning"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); break; } Console.Clear(); break; case "menuNewDish": string answerDish = "j"; while (answerDish.Equals("j")) { Console.Write("Skriv navn: "); string name = Console.ReadLine(); Console.Write("Skriv pris i hele kroner: "); int pris = int.Parse(Console.ReadLine()); Console.Write("Skriv type dish: "); string type = Console.ReadLine(); var dish = new Dish() { Price = pris, Type = type, Name = name }; try { create.addDish(ref dish, ref nyrest); } catch (Exception) { Console.WriteLine("Fejlede save dish"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Skriv (j) for at tilføje endnu en dish. Ellers (n)"); answerDish = Console.ReadLine(); } resturantMenu = "mainMenu"; break; case "menuShowMenu": Console.WriteLine("Indlæser... \n"); try { select.SelectRestaurantMenu2(nyrest.Address); } catch (Exception) { Console.WriteLine("Fejlede Indlæser menu"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); resturantMenu = "mainMenu"; break; case "menuNewReview": string answerReview = "j"; while (answerReview.Equals("j")) { select.SelectRestaurantMenu2(nyrest.Address); Console.WriteLine("Skriv navn på dish"); string name = Console.ReadLine(); var dish = db.Dish.Where(d => d.Name.Equals(name)).FirstOrDefault(); Console.WriteLine("Udført"); Console.Write("Skriv tekst "); string tekst = Console.ReadLine(); Console.Write("Skriv antal stjerner "); int stars = int.Parse(Console.ReadLine()); var review = new Review() { Text = tekst, Stars = stars }; try { create.addReview(ref review, ref nyrest, ref dish); } catch (Exception) { Console.WriteLine("Fejlede save review"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Fuldført"); Console.WriteLine("Vil du skrive nyt review? (j) for ja, og (n) for nej"); answerReview = Console.ReadLine(); } resturantMenu = "mainMenu"; break; case "menuShowReviews": Console.WriteLine("Indlæser... \n"); try { select.SelectRestaurantMenu2(nyrest.Address); } catch (Exception) { Console.WriteLine("Fejlede Indlæser review"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); resturantMenu = "mainMenu"; break; case "menuAdmin": switch (adminMenu) { case "mainMenu": Console.Clear(); Console.WriteLine("Velkommen til: " + nyrest.Name.ToString()); Console.WriteLine("På addressen: " + nyrest.Address.ToString()); Console.WriteLine("---------------------------------"); Console.WriteLine("Admin menu:"); Console.WriteLine("---------------------------------"); Console.WriteLine ( "0: Tilbage til resturant menu" + "\n" + "1: Tilføj en person" + "\n" + "2: Vis personer" + "\n" + "3: Tilføj en waiter" + "\n" + "4: Vis en waiter" + "\n" + "5: Tilføj bord" + "\n" + "6: Vis borde" + "\n" + "7: Tilføj en guest" + "\n" + "8: Vis en guest" + "\n" + "9: Vis alle guests, borde og reviews på restauranten" ); Console.WriteLine("---------------------------------"); string menuAdminInput = Console.ReadLine(); switch (menuAdminInput) { case "0": resturantMenu = "mainMenu"; break; case "1": adminMenu = "addPerson"; break; case "2": adminMenu = "showPerson"; break; case "3": adminMenu = "addWaiter"; break; case "4": adminMenu = "showWaiter"; break; case "5": adminMenu = "addTable"; break; case "6": adminMenu = "showTable"; break; case "7": adminMenu = "addGuest"; break; case "8": adminMenu = "showGuest"; break; case "9": adminMenu = "ShowAllGuestsAtRestaurant"; break; default: Console.WriteLine("Forkert indtastning"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); break; } Console.Clear(); break; case "addPerson": Console.WriteLine("Skriv navnet for personen:"); string namePerson = Console.ReadLine(); Person personBuf = new Person() { Name = namePerson }; try { create.addPerson(ref personBuf); } catch (Exception) { Console.WriteLine("Fejlede save person"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); adminMenu = "mainMenu"; break; case "showPerson": try { selectAll.SelectAllPerson(); } catch (Exception) { Console.WriteLine("Fejlede Indlæser person"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); adminMenu = "mainMenu"; break; case "addWaiter": Console.WriteLine("Skriv tjenerens salary:"); int salaryWaiter = int.Parse(Console.ReadLine()); Waiter waiterBuf = new Waiter() { Salary = salaryWaiter }; selectAll.SelectAllPerson(); Console.WriteLine("Skriv personens id, som tjerneren hører til :"); int personWaiter = int.Parse(Console.ReadLine()); try { Person personBuf2 = selectspecific.selectPerson(personWaiter); create.addWaiter(ref waiterBuf, ref personBuf2); } catch (Exception) { Console.WriteLine("Fejlede save waiter"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); adminMenu = "mainMenu"; break; case "showWaiter": selectAll.SelectAllPerson(); Console.WriteLine("Skriv tjernerens person id:"); int waiterPersonNr = int.Parse(Console.ReadLine()); try { Person personBuf3 = selectspecific.selectPerson(waiterPersonNr); selectspecific.selectWaiter(personBuf3); } catch (Exception) { Console.WriteLine("Fejlede Indlæser watier"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); adminMenu = "mainMenu"; break; case "addTable": selectspecific.selectTableIns(nyrest); Console.WriteLine("Skriv nummeret bordet skal have:"); int tableNr = int.Parse(Console.ReadLine()); TableIns tableBuf = new TableIns() { Number = tableNr }; selectAll.SelectAllPerson(); Console.WriteLine("Skriv tjernerens person id:"); int waiterPersonNr1 = int.Parse(Console.ReadLine()); try { Person personBuf4 = selectspecific.selectPerson(waiterPersonNr1); Waiter waiterBuf2 = selectspecific.selectWaiter(personBuf4); create.addTable(ref tableBuf, ref nyrest, ref waiterBuf2); } catch (Exception) { Console.WriteLine("Fejlet gemt bord. Var personen tjener?"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); adminMenu = "mainMenu"; break; case "showTable": try { selectspecific.selectTableIns(nyrest); } catch (Exception) { Console.WriteLine("Fejlede Indlæser table"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); adminMenu = "mainMenu"; break; case "addGuest": selectAll.SelectAllPerson(); Console.WriteLine("Skriv personens navn"); var pname = Console.ReadLine(); var gperson = db.Person.Where(p => p.Name.Equals(pname)).FirstOrDefault(); selectspecific.selectTableIns(nyrest); Console.WriteLine("Vælg bord id:"); int tableid = int.Parse(Console.ReadLine()); var table = db.TableIns.Where(t => t.TableId == tableid).FirstOrDefault(); select.SelectRestaurantMenu2(nyrest.Address); var guest = new Guest() { Reservation = DateTime.Now }; var dishes = new List <Dish>(); do { Console.WriteLine("Skriv navn på valgte ret"); var dishName = Console.ReadLine(); dishes.Add(selectspecific.selectADishAtRestaurant(ref nyrest, dishName)); Console.WriteLine("Vil du tilføje endnu en ret? Skriv (j) for ja; (n) for nej."); } while (Console.ReadLine().Equals("j")); Console.WriteLine("Skrive review tekst"); var text = Console.ReadLine(); Console.WriteLine("Skriv tal for antal stjerner (1-6)"); int stars = int.Parse(Console.ReadLine()); var review = new Review() { Text = text, Stars = stars }; create.addReview(ref review, ref nyrest); create.addGuest(ref guest, ref gperson, ref table, ref review); foreach (var dish in dishes) { var dish_ = dish; create.addDishToGuest(ref dish_, ref guest); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); adminMenu = "mainMenu"; break; case "showGuest": try { selectAll.SelectAllGuestFromRestaurant(nyrest.Address); Console.WriteLine("Skriv id for gæst"); int guestID = int.Parse(Console.ReadLine()); selectspecific.selectAGuest(guestID); } catch (Exception) { Console.WriteLine("Fejlede Indlæser guest"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); adminMenu = "mainMenu"; break; case "ShowAllGuestsAtRestaurant": try { select.getReviewsBasedOnTable(nyrest.Address); } catch (Exception) { Console.WriteLine("Fejlede Indlæser guest"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); } Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); adminMenu = "mainMenu"; break; } break; default: Console.WriteLine("Forkert indtastning"); Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); break; } break; default: Console.WriteLine("Forkert indtastning"); menu = "mainMenu"; Console.WriteLine("Tryk enter for at forsætte"); Console.ReadLine(); break; } } }