Пример #1
0
        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++;
                }
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }