Example #1
0
        public async Task <Delivery> AddAsync(Delivery item)
        {
            var warehouseItem = await _dbContext.WarehouseInventoryItems
                                .FirstOrDefaultAsync(m => m.InventoryItemId == item.InventoryItemId && m.WarehouseId == item.WarehouseId);

            if (warehouseItem != null)
            {
                warehouseItem.ItemCount  += item.NumberOfItemDelivered;
                warehouseItem.LastUpdated = DateTime.Now;
            }
            else
            {
                warehouseItem = new WarehouseInventoryItem()
                {
                    InventoryItemId = item.InventoryItemId,
                    ItemCount       = item.NumberOfItemDelivered,
                    WarehouseId     = item.WarehouseId,
                    LastUpdated     = DateTime.Now
                };
                _dbContext.WarehouseInventoryItems.Add(warehouseItem);
            }

            await _dbContext.Deliveries.AddAsync(item);

            await _dbContext.SaveChangesAsync();

            return(item);
        }
Example #2
0
        public async Task <string> AddAsync(Removal item)
        {
            var warehouseItem = await _dbContext.WarehouseInventoryItems
                                .FirstOrDefaultAsync(m => m.InventoryItemId == item.InventoryItemId && m.WarehouseId == item.WarehouseId);

            if (warehouseItem != null)
            {
                if (warehouseItem.ItemCount >= item.NumberOfItemRemoved)
                {
                    warehouseItem.ItemCount  -= item.NumberOfItemRemoved;
                    warehouseItem.LastUpdated = DateTime.Now;
                }
                else
                {
                    return($"Error: Not enough items in stock. Total in stock - {warehouseItem.ItemCount}");
                }
            }
            else
            {
                warehouseItem = new WarehouseInventoryItem()
                {
                    InventoryItemId = item.InventoryItemId,
                    ItemCount       = 0,
                    WarehouseId     = item.WarehouseId,
                    LastUpdated     = DateTime.Now
                };

                return($"Error: Not enough items in stock. Total in stock - {warehouseItem.ItemCount}");
            }

            await _dbContext.Removals.AddAsync(item);

            await _dbContext.SaveChangesAsync();

            return("Removal recorded successfully.");
        }