public UnitOfWork(KekContext context) { _context = context; Cookers = new CookerRepository(_context); Orders = new OrderRepository(_context); Sushies = new SushiRepository(_context); }
static void Main(string[] args) { MyLog.directory.Create(); MyLog.Logs("Started"); try { SushiRepository sushiRepository = new SushiRepository(); sushiRepository = Menu.MenuMaker(sushiRepository); MyLog.Logs("Menu.MenuMaker done!"); OrdersRepo orders = new OrdersRepo(); do { MyLog.Logs("orders.AddOrder started!"); orders.AddOrder(MakeNewOrder(sushiRepository)); MyLog.Logs("orders.AddOrder finished!"); Console.WriteLine("Press 'ENTER' if you need add one more order or anything else if not"); }while (Console.ReadKey(true).Key == ConsoleKey.Enter); } catch (Exception ex) { MyLog.Logs($"Something wrong!\n{ex.Message}\n{ex.StackTrace}"); } MyLog.Logs("Order finished!"); Console.Read(); }
public bool AnythingElse(SushiRepository sushis) { Console.WriteLine("Enything else?\nPress 'ESCAPE' if not\nPress 'DELETE' if you want to delete sushi from your order" + "\nPress 'SPACE' to change amount of sushi in the order\nPress anything else if you whoud like add more sushi to the order."); if (Console.ReadKey(true).Key == ConsoleKey.Spacebar) { try { Console.WriteLine("Enter the ID number of sushi which you whoud like to change + press 'ENTER'."); int id = Convert.ToInt32(Console.ReadLine()); orderRepository.UpdateSushiInOrder(id, sushis); orderRepository.GetSushisInOrder(); Console.WriteLine("The order price is {0: 0.00}", SumCounter(orderRepository)); return(false); } catch (Exception ex) { Console.WriteLine("Incorrect data entry \nYou must enter the ID number of kind of sushi"); MyLog.Logs($"Entered invalid sushi ID! Repiting going!\n{ex.Message}\n{ex.StackTrace}"); return(false); } } else if (Console.ReadKey(true).Key == ConsoleKey.Escape) { return(false); } else if (Console.ReadKey(true).Key == ConsoleKey.Delete) { try { Console.WriteLine("Enter the ID number of sushi which you whoud like to delete + press 'ENTER'."); int id = Convert.ToInt32(Console.ReadLine()); orderRepository.DeleteSushiFromOrder(id); orderRepository.GetSushisInOrder(); Console.WriteLine("The order price is {0: 0.00}", SumCounter(orderRepository)); } catch (Exception ex) { Console.WriteLine("Incorrect data entry \nYou must enter the ID number of kind of sushi"); MyLog.Logs($"Entered invalid sushi ID! Repiting going!\n{ex.Message}\n{ex.StackTrace}"); return(false); } } return(true); }
public OrderMakeRepository MakeOrder(SushiRepository sushis) { Speak.Hello(); Speak.OllSushi(sushis); do { do { try { AddSushiOrNothing(sushis); } catch (Exception ex) { Console.WriteLine("You must enter the ID number of kind of sushi"); MyLog.Logs($"Entered invalid sushi ID! Repiting going!\n{ex.Message}\n{ex.StackTrace}"); continue; } orderRepository.GetSushisInOrder(); Console.WriteLine("The order price is {0: 0.00}", SumCounter(orderRepository)); if (AnythingElse(sushis)) { continue; } break; }while (true); Console.WriteLine("Whoud you like to finish your order ?\nPress 'ENTER' if yes or anything else if not"); if (Console.ReadKey(true).Key == ConsoleKey.Enter) { orderRepository.GetSushisInOrder(); Console.WriteLine("The order price is {0: 0.00}", SumCounter(orderRepository)); break; } }while (true); return(orderRepository); }
public void AddSushiOrNothing(SushiRepository sushis) { Console.WriteLine("Which sushi whoud you like to order?" + "\nEnter the ID number + press 'ENTER' to add sushi \nPress 'ESCAPE' if you whoudn't add anything."); if (Console.ReadKey(true).Key != ConsoleKey.Escape) { int idSushiToOrder = Convert.ToInt32(Console.ReadLine()); Sushi sushi = sushis.GetSushiById(idSushiToOrder); Sushi tempSushi = new Sushi(sushi.Name, sushi.Weight, sushi.Cost, sushi.Things, sushi.HalfOrFull); tempSushi.Id = idSushiToOrder; MyLog.Logs("orderRepository.AddSushiInOrder started"); orderRepository.AddSushiInOrder(tempSushi); } }
static Order MakeNewOrder(SushiRepository sushiRepository) { OrderMaker newOrder = new OrderMaker(); MyLog.Logs("newOrder.MakeOrder started!"); newOrder.MakeOrder(sushiRepository); MyLog.Logs("newOrder.MakeOrder finished, newOrder.OrderBuilder started!"); Order order = newOrder.OrderBuilder(newOrder.orderRepository); MyLog.Logs("newOrder.OrderBuilder finished!"); newOrder.OrderIsMakedEvent += (string name) => { Console.WriteLine($"{name}, your order is maked!"); }; MyLog.Logs("newOrder.IsMaked started!"); newOrder.IsMaked(order, 10); return(order); }
public void UpdateSushiInOrder(int id, SushiRepository sushis) { try { var sushi = sushiOrder.SingleOrDefault(item => item.Id == id); if (sushi == null) { throw new NullReferenceException(); } Sushi baseSushi = sushis.GetSushiById(sushi.Id); Sushi tempSushi = new Sushi(baseSushi.Name, baseSushi.Weight, baseSushi.Cost, baseSushi.Things, baseSushi.HalfOrFull); tempSushi.Id = sushi.Id; AddSushiInOrder(tempSushi); } catch (Exception ex) { Console.WriteLine("You don't have eny sushi whith this name in order!"); MyLog.Logs($"Entered invalid sushi ID! Repiting going!\n{ex.Message}\n{ex.StackTrace}"); } }
public static void OllSushi(SushiRepository sushis) { Console.WriteLine($"Here is our menu:"); sushis.GetSushis(); }