public async Task <IActionResult> DeleteItemsDisplacement(DeleteItemsViewModel model)
        {
            var user = await database.Users.FirstOrDefaultAsync(r => r.Username == User.Identity.Name);

            var displacement = new Displacement {
                OrganizationId = user.OrganizationId, When = DateTime.Now, Status = "Списание", WhoAdd = user.FirstName + " " + user.LastName
            };

            database.Displacements.Add(displacement);
            await database.SaveChangesAsync();

            foreach (var itemSelect in model.DeleteItems)
            {
                if (itemSelect.Select)
                {
                    var item = await database.Items.FirstOrDefaultAsync(r => r.Id == itemSelect.Id);

                    item.Status = "Списан";
                    item.RoomId = 0;
                    item.UserId = 0;
                    database.Update(item);
                    await database.SaveChangesAsync();

                    var itemDisplacement = new ItemDisplacement {
                        ItemId = item.Id, DisplacementId = displacement.Id
                    };
                    database.ItemDisplacement.Add(itemDisplacement);
                    await database.SaveChangesAsync();
                }
            }

            return(RedirectToAction("AllItems", "Item"));
        }
Esempio n. 2
0
        public async Task <IActionResult> DeleteItemsDisplacement(List <Item> items)
        {
            if (items != null)
            {
                var displacement = new Displacement {
                    OrganizationId = items[0].OrganizationId, When = DateTime.Now, Status = "Списание", WhoAdd = User.Identity.Name
                };
                database.Displacements.Add(displacement);
                await database.SaveChangesAsync();

                foreach (var item in items)
                {
                    item.Status   = "Списан";
                    item.RoomId   = 0;
                    item.Location = "";
                    database.Update(item);
                    await database.SaveChangesAsync();

                    var itemDisplacement = new ItemDisplacement {
                        IventoryNumber = item.InventoryNumber, DisplacemnetId = displacement.Id
                    };
                    database.ItemDisplacement.Add(itemDisplacement);
                    await database.SaveChangesAsync();
                }

                return(RedirectToAction("Displacements", "Displacement"));
            }

            return(RedirectToAction("DeleteItemDisplacement"));
        }
Esempio n. 3
0
        public async Task <IActionResult> AddItem(AddItemViewModel model)
        {
            User user = await database.Users.FirstOrDefaultAsync(r => r.Username == User.Identity.Name);

            if (ModelState.IsValid)
            {
                var item = await database.Items.FirstOrDefaultAsync(r => r.InventoryNumber == model.InventoryNumber && r.OrganizationId == user.OrganizationId);

                if (item == null)
                {
                    item = new Item {
                        Name = model.Name, Description = model.Description, InventoryNumber = model.InventoryNumber, OrganizationId = user.OrganizationId, Status = "Новый", RoomId = model.RoomSelectId, Cost = model.Cost
                    };

                    database.Items.Add(item);
                    await database.SaveChangesAsync();

                    var itemDisplacement = new ItemDisplacement {
                        ItemId = item.Id, DisplacementId = model.DisplacementId
                    };
                    database.ItemDisplacement.Add(itemDisplacement);
                    await database.SaveChangesAsync();

                    var room = await database.Rooms.FirstOrDefaultAsync(r => r.Id == model.RoomSelectId);

                    return(RedirectToAction("AddItemsDisplacement", "Item", new { displacementId = model.DisplacementId, whereTo = room.Name }));
                }
                else
                {
                    ModelState.AddModelError("", "Инвентарный номер должен быть уникален");
                }
            }
            else
            {
                ModelState.AddModelError("", "Некоректный ввод");
            }

            return(View(model));
        }