Example #1
0
 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));
 }
Example #2
0
        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);
        }