public static void ShowAllWaybills() { waybillRepository = new WaybillRepository(); var allWaybills = waybillRepository.GetAll(); if (allWaybills.Count > 0) { Console.WriteLine("\t- Накладные -\n"); int i = 1; itemRepository = new ItemRepository(); var allItems = itemRepository.GetAll(); foreach (var waybill in allWaybills) { Console.Write($"\n{i}.\tТовар: {allItems.Where(item => item.Id.Equals(waybill.ItemId)).FirstOrDefault().Name}"); Console.Write($" (Всего на складе: {allItems.Where(item => item.Id.Equals(waybill.ItemId)).FirstOrDefault().Quantity})"); Console.WriteLine($"\n\tКоличество: {waybill.Quantity}"); Console.WriteLine($"\tСтатус: {waybill.Status}"); if (waybill.Status == "На складе") { storekeeperRepository = new StorekeeperRepository(); var allStorekeepers = storekeeperRepository.GetAll(); var storekeeper = allStorekeepers.Where(s => s.Id.Equals(waybill.StorekeeperId)).ToList(); Console.WriteLine($"\tКладовщик: {storekeeper.FirstOrDefault().FullName}"); } i++; } } }
private static void AcceptWaybill() { Console.WriteLine("\tСписок накладных:"); int num = 1; foreach (var waybill in waybillRepository.GetAll()) { Console.WriteLine($"{num++}) Яблоки - {waybill.Apples}, Бананы - {waybill.Bananas}, Груши - {waybill.Pears}"); } Console.Write("\tВведите номер принимаемой накладной: "); int acceptNum; if (Int32.TryParse(Console.ReadLine(), out acceptNum) == false || acceptNum < 1 || acceptNum > waybillRepository.GetAll().Count) { WriteMessage("Введенное действие не является корректным. Возвращение в главное меню!"); return; } var wayBill = waybillRepository.GetByNum(acceptNum); store.Apples += wayBill.Apples; store.Bananas += wayBill.Bananas; store.Pears += wayBill.Pears; storeRepository.Update(store); waybillRepository.Delete(wayBill); acceptedWaybillRepository.Add(store, wayBill, storekeeper); }
public static bool IsFree(int waybillNumber) { var waybill = waybillRepository.GetAll().Skip(waybillNumber - 1).Take(1).ToList(); if (waybill.FirstOrDefault().Status == "На складе") { return(false); } else { waybillId = waybill.FirstOrDefault().Id; return(true); } }
public static void UpdateItemsQuantities() { itemRepository = new ItemRepository(); var allItems = itemRepository.GetAll(); waybillRepository = new WaybillRepository(); var allWaybills = waybillRepository.GetAll(); foreach (var item in allItems) { var waybillsByItem = allWaybills.Where(w => w.ItemId.Equals(item.Id)).ToList(); var waybillsByItemStatus = waybillsByItem.Where(w => w.Status.Equals("На складе")).ToList(); var itemsQuantity = waybillsByItemStatus.Sum(w => w.Quantity); Item newItem = new Item { Id = item.Id, Quantity = itemsQuantity }; itemRepository.Update(newItem); } }