public async Task <bool> OutboundProductExistsAsync(OutboundProductAddOrUpdateDto product) { return(await _context.Stocks.AnyAsync(x => x.ProductName == product.ProductName && x.ProductSpecification == product.ProductSpecification && x.Amout >= product.Amout)); }
public void StockOut(OutboundProductAddOrUpdateDto outboundProductAddOrUpdateDto) { if (outboundProductAddOrUpdateDto == null) { throw new ArgumentNullException(nameof(outboundProductAddOrUpdateDto)); } if (OutboundProductExistsAsync(outboundProductAddOrUpdateDto).Result) //如果存在名称和规格都一样的产品 { var stock = _context.Stocks.FirstOrDefault(x => x.ProductName == outboundProductAddOrUpdateDto.ProductName && x.ProductSpecification == outboundProductAddOrUpdateDto.ProductSpecification); stock.Amout -= outboundProductAddOrUpdateDto.Amout; return; } Stock newStock = new Stock(); newStock.Id = Guid.NewGuid(); newStock.ProductName = outboundProductAddOrUpdateDto.ProductName; newStock.ProductSpecification = outboundProductAddOrUpdateDto.ProductSpecification; newStock.Amout = outboundProductAddOrUpdateDto.Amout; _context.Stocks.Add(newStock); }