/// <summary> /// 新增或者修改商品 /// </summary> /// <param name="commodity"></param> /// <param name="operatorName"></param> /// <returns></returns> public ReturnValue <int> AddOrUpdateCommodity(AddOrUpdateCommodityDTO commodity, string operatorName) { return(ReturnValue <int> .Get200OK(CCommodityManager.Instance.AddOrUpdateCommodity(commodity, operatorName))); }
public int AddOrUpdateCommodity(AddOrUpdateCommodityDTO commodity, string operatorName) { if (commodity == null) { throw new BusinessException("商品对象未设定"); } if (string.IsNullOrWhiteSpace(operatorName)) { throw new BusinessException("操作人未设定"); } CRestaurantPO restaurant = CRestaurantManager.Instance.GetById(commodity.ResId); if (restaurant == null) { throw new BusinessException("此餐厅不存在"); } List <string> commodityCategoryUUIDs = new List <string> { commodity.CommodityCategoryUUID }; Core.Data.QueryResult <CCommodityCategoryPO> commodityCategoryResult = CCommodityCategoryManager.Instance.GetCommodityCategorys(restaurant.ResUUID, commodityCategoryUUIDs, 1, 1); if (((commodityCategoryResult == null) || (commodityCategoryResult.Items == null)) || (commodityCategoryResult.Items.Length == 0)) { throw new BusinessException("商品类别不存在"); } CCommodityCategoryPO commodityCategoryPO = commodityCategoryResult.Items[0]; CCommodityPO commodityPO = null; if (commodity.Id > 0) { commodityPO = Instance.GetById(commodity.Id); if (commodityPO == null) { throw new BusinessException("商品不存在"); } } else { commodityPO = new CCommodityPO(); } commodityPO.ChineseName = commodity.ChineseName; commodityPO.ResUUID = restaurant.ResUUID; commodityPO.CommodityCategoryUUID = commodityCategoryPO.CommodityCategoryUUID; commodityPO.EnglishName = commodity.EnglishName; commodityPO.IsDelete = commodity.IsDelete; commodityPO.PicPath = commodity.PicPath; commodityPO.PreferentialFlag = commodity.PreferentialFlag; commodityPO.PreferentialProportion = commodity.PreferentialProportion; commodityPO.PreferentialQuantity = commodity.PreferentialQuantity; commodityPO.Price = new decimal?(commodity.Price); commodityPO.Remark = commodity.Remark; commodityPO.ShowRemark = commodity.ShowRemark; commodityPO.Sort = new int?(commodity.Sort); commodityPO.State = commodity.State; commodityPO.Type = commodity.Type; if (commodityPO.Id > 0) { return(this.Update(commodityPO, operatorName)); } return(this.Add(commodityPO, operatorName)); }