Beispiel #1
0
        public async Task <IActionResult> DeleteStorageList(Guid storageListId)
        {
            var entity = await _storageListRepository.GetStorageListAsync(storageListId);

            if (entity == null)
            {
                return(NotFound());
            }
            //删除入库单的时候,库存应对应减少
            foreach (var storageProduct in entity.StorageProducts)
            {
                _stockRepository.StockOut(_mapper.Map <OutboundProductAddOrUpdateDto>(storageProduct));
            }
            _storageListRepository.DeleteStorageList(entity);
            _storageListRepository.SaveAsync();
            return(NoContent());
        }
        public async Task <IActionResult> CreateStorageList([FromBody] StorageListAddOrUpdateDto storageList)
        {
            //这里是否只转换成了StorageList,而对其StorageProducts属性包含的属性没有做映射?
            var entity = _mapper.Map <StorageList>(storageList);

            _storageListRepository.AddStorageList(entity);

            //入库时同时对库存进行操作
            foreach (var storageProductAddOrUpdateDto in storageList.StorageProducts)
            {
                _stockRepository.StockIn(storageProductAddOrUpdateDto);
            }

            var save      = _storageListRepository.SaveAsync();
            var returnDto = _mapper.Map <StorageListDto>(entity);

            return(CreatedAtRoute(nameof(GetStorageList), new { storageListId = returnDto.Id }, returnDto));
        }