public ErrorCode Create(string companyId, string qty, string premium, string price, string stockId,string commodityId, string pricingType) { try { decimal? quantity = 0; decimal? premiumResult = 0; decimal? priceResult = 0; if (!string.IsNullOrEmpty(qty)) { quantity = Convert.ToDecimal(qty); } if (!string.IsNullOrEmpty(premium)) { premiumResult = Convert.ToDecimal(premium); } if (!string.IsNullOrEmpty(price)) { priceResult = Convert.ToDecimal(price); } var tradeManagement = new SalesOrder { CompanyId = Convert.ToInt32(companyId), Quantity = quantity.Value, StockId = Convert.ToInt32(stockId), Date = DateTime.Now, Premium = premiumResult, Price = priceResult, PricingType = Convert.ToInt32(pricingType), Status = (int)SalesOrderStatus.OrderConfirmed }; var stockDal = new StockDAL(); var stock = stockDal.GetById(Convert.ToInt32(stockId), null); var commDal = new CommodityDAL(); var commodity = commDal.GetById(Convert.ToInt32(commodityId),null); if(quantity > stock.AvailableQty) { return ErrorCode.QtyNotEnough; } if(quantity % stock.BuyUnit != 0) { return ErrorCode.NotInteger; } if(!commodity.IsOpen) { return ErrorCode.CommodityNotOpen; } TradeManagementDal.Create(tradeManagement); stock.AvailableQty = stock.AvailableQty - tradeManagement.Quantity; stockDal.Update(stock); return ErrorCode.NoError; } catch (Exception) { return ErrorCode.ServerError; } }
//根据库存ID生成新增的SaleOrder public TradeManagementEditVM GetSalesOrderByStockId(int stockId, int currentUserId) { var stockDal = new StockDAL(); var stock = stockDal.GetById(stockId, new List<string> { "Commodity","CommodityType","Brand","Warehouse","Company"}); var tradeManagementEditVM = new TradeManagementEditVM { Premium = string.Format("{0:#,##0}", stock.Premium), Price = string.Format("{0:#,##0.00}", stock.Price), CommodityName = stock.Commodity == null ? "" : stock.Commodity.Name, CommodityTypeName = stock.CommodityType == null ? "" : stock.CommodityType.Name, BrandName = stock.Brand == null ? "" : stock.Brand.Name, Warehouse = stock.Warehouse == null ? "" : stock.Warehouse.Name, BuyUnit = stock.BuyUnit, PricingType = stock.PricingType, SalerName = stock.Company.Name, CommodityId = stock.CommodityId, CommodityCode = stock.Commodity.Code, CommodityUnit = stock.Commodity.CommodityUnit, StockId = stock.Id }; var companySvc = new CompanyService(); List<CompanyVM> companyList = companySvc.GetCompanyByRelUserId(currentUserId); if(companyList != null && companyList.Count > 0) { tradeManagementEditVM.CompanyId = companyList.FirstOrDefault().Id; } var sysSettingSvc = new SysSettingService(); var sysSettingVM = sysSettingSvc.GetSysSetting(); tradeManagementEditVM.CountDown = sysSettingVM.CountDown; return tradeManagementEditVM; }