public async Task <IActionResult> AppStockLog(AddProductStockLogDto stockLogDto) { return(Ok(await _productStockService.AddStockLog(stockLogDto))); }
public async Task <ServiceResponse <List <GetProductStockLogDto> > > AddStockLog(AddProductStockLogDto newstockLogDto) { ServiceResponse <List <GetProductStockLogDto> > res = new ServiceResponse <List <GetProductStockLogDto> >(); var Product = await _db.Products.FirstOrDefaultAsync(x => x.ProductId == newstockLogDto.ProductId); var stock = Product.Stock; if (Product == null) { res.IsSuccess = false; res.Message = "date not found"; } if (newstockLogDto.TypeAdd == 2) // 2 = ลบ { if (newstockLogDto.NewEdit > stock) { res.IsSuccess = false; res.Message = " calculate fail"; } else { Product.Stock = (stock - newstockLogDto.NewEdit); } } else { Product.Stock = (newstockLogDto.NewEdit + stock); } if (res.IsSuccess == true) { _db.Products.Update(Product); await _db.SaveChangesAsync(); ProductStockLog productStockLog = _mapper.Map <ProductStockLog>(newstockLogDto); _db.ProductStockLogs.Add(productStockLog); await _db.SaveChangesAsync(); res.Data = (_db.ProductStockLogs.Select(c => _mapper.Map <GetProductStockLogDto>(c))).ToList(); } return(res); }