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++; } } }
public static void ShowAllStorekeepers() { storekeeperRepository = new StorekeeperRepository(); var allStorekeepers = storekeeperRepository.GetAll(); if (allStorekeepers.Count > 0) { Console.WriteLine("\t- Кладовщики -\n"); int i = 1; foreach (var storekeeper in allStorekeepers) { Console.WriteLine($"\n{i}.\t{storekeeper.FullName}"); i++; } } }
public static void Change() { while (true) { Console.Clear(); ItemsList.UpdateItemsQuantities(); WaybillsList.ShowAllWaybills(); Console.Write("\n\nВведите порядковый номер накладной: "); waybillNumberString = Console.ReadLine(); waybillNumberString = waybillNumberString.ExtractOnlyDigits(); if (waybillNumberString.IsDigits() == true) { Int32.TryParse(waybillNumberString, out waybillNumber); waybillRepository = new WaybillRepository(); waybillsQuantity = waybillRepository.Count(); if (waybillNumber > 0 && waybillNumber <= waybillsQuantity) { if (WaybillsList.IsFree(waybillNumber) == true) { Console.Clear(); StorekeepersList.ShowAllStorekeepers(); Console.Write("\n\nВведите порядковый номер кладовщика: "); storekeeperNumberString = Console.ReadLine(); storekeeperNumberString = waybillNumberString.ExtractOnlyDigits(); if (storekeeperNumberString.IsDigits() == true) { Int32.TryParse(storekeeperNumberString, out storekeeperNumber); storekeeperRepository = new StorekeeperRepository(); storekeepersQuantity = storekeeperRepository.Count(); if (storekeeperNumber > 0 && storekeeperNumber <= storekeepersQuantity) { WaybillsList.ChangeStatucAndAddStorekeeper(storekeeperNumber); ItemsList.UpdateItemsQuantities(); } } } else { } Console.Clear(); } } } }
private static void FillAllTables() { StorekeeperRepository storekeeperRepository = new StorekeeperRepository(); storekeeperRepository.Add(firstStorekeeper); storekeeperRepository.Add(secondStorekeeper); ItemRepository itemRepository = new ItemRepository(); itemRepository.Add(firstItem); itemRepository.Add(secondItem); itemRepository.Add(thirdItem); itemRepository.Add(fourthItem); WaybillRepository waybillRepository = new WaybillRepository(); waybillRepository.Add(firstWaybill); waybillRepository.Add(secondWaybill); waybillRepository.Add(thirdWaybill); waybillRepository.Add(fourthWaybill); waybillRepository.Add(fifthWaybill); }
public static void ChangeStatucAndAddStorekeeper(int storekeeperNumber) { storekeeperRepository = new StorekeeperRepository(); var allStorekeepers = storekeeperRepository.GetAll(); var storekeeper = allStorekeepers.Skip(storekeeperNumber - 1).Take(1).ToList(); //waybillRepository = new WaybillRepository(); //var allWaybills = waybillRepository.GetAll(); //var itemId = allWaybills.Where(w => w.Id.Equals(waybillId)).FirstOrDefault().ItemId; //var itemsQuantityTemp = allWaybills.Where(w => w.ItemId.Equals(itemId)).ToList(); //var itemsQuantityTemp2 = itemsQuantityTemp.Where(w => w.Status.Equals("На складе")).Sum(w => w.Quantity); //var itemsQuantity = allWaybills.Where(w => w.Id.Equals(waybillId)).FirstOrDefault().Quantity + itemsQuantityTemp2; Waybill waybill = new Waybill { Id = waybillId, StorekeeperId = storekeeper.FirstOrDefault().Id, Status = "На складе", //Quantity = itemsQuantity }; waybillRepository = new WaybillRepository(); waybillRepository.Update(waybill); }