public void EditOrder() { bool done = false; while (!done) { Zadatak_1_Entities cmd = new Zadatak_1_Entities(); Console.WriteLine("To cancel press ~ at any moment\n"); Console.WriteLine("Insert id of the order you whant to edit.\n"); string input; bool success = int.TryParse(input = Console.ReadLine(), out int OrderId); if (input == "~") { break; } Console.WriteLine(); if (success) { var order = cmd.tblOrders.FirstOrDefault(o => o.OrderId == OrderId); if (order != null) { foreach (var i in cmd.tblOrderMenus) { if (i.OrderId == order.OrderId) { cmd.tblOrderMenus.Remove(i); } } List <int> menus = new List <int>(); while (true) { Console.WriteLine("Select new meals from the menu.\n"); Console.WriteLine("If you are done, press x.\n"); foreach (var menu in cmd.tblMenus) { Console.WriteLine(menu.MenuId + ". " + menu.Meal + " " + menu.Price); } Console.WriteLine(); bool success1 = int.TryParse(input = Console.ReadLine(), out int result); if (input == "~") { done = true; break; } Console.WriteLine(); bool found = false; if (success1 || input == "x") { foreach (var menu in cmd.tblMenus) { if (result == menu.MenuId) { menus.Add(menu.MenuId); found = true; } } if (!found && input != "x") { Console.WriteLine("Non existant meal, please try again.\n"); continue; } if (input == "x") { int?price = 0; foreach (int i in menus) { tblOrderMenu t = new tblOrderMenu(); t.OrderId = order.OrderId; t.MenuId = i; cmd.tblOrderMenus.Add(t); cmd.SaveChanges(); } foreach (var i in cmd.tblOrderMenus) { if (order.OrderId == i.OrderId) { foreach (var menu in cmd.tblMenus) { if (i.MenuId == menu.MenuId) { price += menu.Price; } } } } order.Price = price; done = true; cmd.SaveChanges(); Console.WriteLine("Update successfull."); break; } } else { Console.WriteLine("Invalid input, please try again.\n"); } } } else { Console.WriteLine("Non existant order. Please try again.\n"); } } else { Console.WriteLine("Incorrect input, please try again.\n"); } } }
public void CreateOrder() { List <tblMenu> menu = new List <tblMenu>(); List <int> melasId = new List <int>(); using (Zadatak_1_Entities db = new Zadatak_1_Entities()) { menu = db.tblMenus.Where(x => x.MenuId > 0).ToList(); } melasId = Order(menu); if (melasId.Count == 0) { return; } int price = 0; foreach (int id in melasId) { if (id == 1) { price += 100; } else { price += 200; } } tblOrder order = new tblOrder(); order.Price = price; using (Zadatak_1_Entities db = new Zadatak_1_Entities()) { try { db.tblOrders.Add(order); db.SaveChanges(); } catch (Exception ex) { Console.WriteLine("Something went wrong..."); Console.WriteLine(ex.Message.ToString()); } tblOrder newOrder = db.tblOrders.Where(x => x.Price == order.Price).FirstOrDefault(); Console.WriteLine("Ordered Successfully! Order Id: {0} Price: {1}$", newOrder.OrderId, newOrder.Price); foreach (int id in melasId) { tblOrderMenu orderMenu = new tblOrderMenu(); orderMenu.OrderId = newOrder.OrderId; orderMenu.MenuId = id; try { db.tblOrderMenus.Add(orderMenu); db.SaveChanges(); } catch (Exception ex) { Console.WriteLine("Something went wrong..."); Console.WriteLine(ex.Message.ToString()); } } } }