Beispiel #1
0
        // GET: Warehouses/Details/5
        public async Task <IActionResult> Details(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Warehouse warehouse;

            if (User.UserRole().Contains("Admin"))
            {
                warehouse = await _bll.WarehouseService
                            .FirstOrDefaultAsync(id.Value);
            }
            else
            {
                warehouse = await _bll.WarehouseService
                            .FirstOrDefaultAsync(id.Value, User.UserGuidId());
            }

            if (warehouse == null)
            {
                return(NotFound());
            }

            var vm = new WarehouseItemsViewModel
            {
                Warehouse = warehouse
            };

            return(View(vm));
        }
Beispiel #2
0
        public async Task <IActionResult> AddItemsToWarehouse(WarehouseItemsViewModel vm)
        {
            foreach (var itemId in vm.Items !)
            {
                var newItem = _bll.ItemInWarehouseService.Add(new ItemInWarehouse
                {
                    Id           = Guid.NewGuid(),
                    ItemId       = itemId,
                    WarehouseId  = vm.Warehouse.Id,
                    ItemsInStock = 1
                });
            }

            await _bll.SaveChangesAsync();

            return(RedirectToAction("Details", new { id = vm.Warehouse.Id }));
        }
Beispiel #3
0
        // Get
        public async Task <IActionResult> AddItemsToWarehouse(Guid?warehouseId)
        {
            if (warehouseId == null)
            {
                return(NotFound());
            }
            var warehouse = User.UserRole().Contains("Admin")
                ? await _bll.WarehouseService.FirstOrDefaultAsync(warehouseId.Value)
                : await _bll.WarehouseService.FirstOrDefaultAsync(warehouseId.Value, User.UserGuidId());

            var items = User.UserRole().Contains("Admin")
                ? await _bll.ItemService.AllAsync()
                : await _bll.ItemService.AllAsync(User.UserGuidId());

            // get list of items which not in warehouse
            items = items.Where(i =>
            {
                var boole = true;
                foreach (var warehouseItem in warehouse.WarehouseItems !)
                {
                    if (i.Id == warehouseItem.ItemId)
                    {
                        boole = false;
                    }
                }
                return(boole);
            }
                                );
            var vm = new WarehouseItemsViewModel
            {
                Warehouse       = warehouse,
                ItemsSelectList = new MultiSelectList(items, nameof(Item.Id), nameof(Item.Name))
            };

            return(View(vm));
        }