Esempio n. 1
0
        public async Task <IActionResult> UpdateItem(int id, ItemForDetailDto itemForDetailDto)
        {
            if (itemForDetailDto.Name == "" ||
                itemForDetailDto.Name == null ||
                itemForDetailDto.Code == null ||
                itemForDetailDto.Code == "" ||
                itemForDetailDto.ItemCategory == null ||
                itemForDetailDto.ItemCategory.Id == 0 ||
                itemForDetailDto.Unit == null ||
                itemForDetailDto.Unit.Id == 0)
            {
                return(BadRequest("Insufficent data"));
            }

            var itemFromRepository = await _invRepo.GetItem(id);

            if (itemFromRepository == null)
            {
                return(BadRequest("Item not available"));
            }

            var catFromRepo = await _invRepo.Get <ItemCategory>(itemForDetailDto.ItemCategory.Id);

            var unitFromRepo = await _invRepo.Get <Unit>(itemForDetailDto.Unit.Id);

            itemFromRepository.Name         = itemForDetailDto.Name;
            itemFromRepository.Code         = itemForDetailDto.Code;
            itemFromRepository.Description  = itemForDetailDto.Description;
            itemFromRepository.ItemCategory = catFromRepo;
            itemFromRepository.Unit         = unitFromRepo;
            itemFromRepository.Type         = itemForDetailDto.Type;
            itemFromRepository.ReOrderLevel = itemForDetailDto.ReOrderLevel;

            if (itemForDetailDto.Type == 0)
            {
                if (itemForDetailDto.SellingPrice > 0)
                {
                    itemFromRepository.SellingPrice = itemForDetailDto.SellingPrice;
                }

                if (itemForDetailDto.ExpireDays > 0)
                {
                    itemFromRepository.ExpireDays = itemForDetailDto.ExpireDays;
                }
            }

            if (await _invRepo.SaveAll())
            {
                return(NoContent());
            }

            throw new System.Exception($"Updating item {id} failed on save");
        }
Esempio n. 2
0
        public async Task <IActionResult> CreateItem(ItemForDetailDto itemForDetailDto)
        {
            var itemToCreate = _mapper.Map <Item>(itemForDetailDto);

            itemToCreate.ItemCategory = await _invRepo.Get <ItemCategory>(itemForDetailDto.ItemCategory.Id);

            itemToCreate.Unit = await _invRepo.Get <Unit>(itemForDetailDto.Unit.Id);

            _invRepo.Add <Item>(itemToCreate);

            if (await _invRepo.SaveAll())
            {
                return(Ok());
            }

            throw new System.Exception($"Failed to Create item on save");
        }