예제 #1
0
        public async Task <IActionResult> AddItem(ItemForAddDto prodForAddDto)
        {
            if (prodForAddDto.Price == 0)
            {
                return(BadRequest("Price cannot be 0"));
            }

            if (await _repo.ItemExists(prodForAddDto.Name))
            {
                return(BadRequest("Item already exists"));
            }

            var itemToAdd = new Models.Product
            {
                Name     = prodForAddDto.Name,
                Price    = prodForAddDto.Price,
                Quantity = prodForAddDto.Quantity,
                Photo    = prodForAddDto.Photo,
                Barcode  = prodForAddDto.Barcode
            };

            var createdProd = await _repo.AddItem(itemToAdd);

            return(StatusCode(201));
        }
예제 #2
0
        public async Task <IActionResult> RemoveItem(ItemForAddDto prodForRemove)
        {
            var itemToAdd = new Models.Product
            {
                Name     = prodForRemove.Name,
                Price    = prodForRemove.Price,
                Quantity = prodForRemove.Quantity,
                Photo    = prodForRemove.Photo,
                Barcode  = prodForRemove.Barcode
            };

            var createdProd = await _repo.RemoveItem(itemToAdd);

            return(StatusCode(201));
        }
예제 #3
0
        public async Task <IActionResult> AddItem(ItemForAddDto ItemForAddDto)
        {
            // ItemForAddDto.Name = ItemForAddDto.Name.ToLower();

            // if (await _repo.UserExists(ItemForAddDto.Name))
            //     return BadRequest("Tài khoản đã tồn tại");


            var ItemToCreate = _mapper.Map <Item>(ItemForAddDto);

            _repo.Add(ItemToCreate);
            await _repo.SaveAll();

            return(Ok(ItemToCreate));
        }
예제 #4
0
        public async Task <IActionResult> AddItem([FromBody] ItemForAddDto item)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            List <ItemItemRelation> partsToAdd = new List <ItemItemRelation>();

            foreach (ItemItemRelationPartOfForGet part in item.Parts)
            {
                partsToAdd.Add(new ItemItemRelation {
                    Part   = part.Part,
                    Amount = part.Amount
                });
            }

            foreach (ItemItemRelation itemPart in partsToAdd)
            {
                var itemToReduce = await _repo.GetItem(itemPart.Part.Id);

                itemToReduce.Amount -= itemPart.Amount;
            }

            var itemToCreate = new Item(
                item.Placement,
                item.Amount,
                item.Template,
                item.Order,
                _userManager.FindByNameAsync(User.Identity.Name).Result,
                item.Properties,
                partsToAdd,
                item.PartOf,
                item.IsActive
                );

            bool result = await _repo.AddItem(itemToCreate);

            if (result)
            {
                User currentUser = _userManager.FindByNameAsync(User.Identity.Name).Result;
                result = await _eventLogRepo.AddEventLog(EventType.Created, "genstand", itemToCreate.Template.Name, itemToCreate.Id, currentUser);
            }
            return(result ? StatusCode(201) : BadRequest());
        }
예제 #5
0
        public async Task <IActionResult> GetItemId(ItemForAddDto item)
        {
            var itemFromRepo = await _repo.GetItemId(item.Name);

            return(Ok(itemFromRepo));
        }