/// <summary> /// 更新货品信息 /// </summary> /// <param name="info"> 货品信息实体 </param> /// <returns> 更新成功返回true </returns> public bool UpdateInfo(MMS_ProductInfo info) { var query = from item in dc.MMS_ProductInfo where item.ID == info.ID select item; BatchEvaluate.Eval(info, query.First()); dc.SubmitChanges(); return(true); }
/// <summary> /// 插入货品信息 /// </summary> /// <param name="info"> 货品信息实体 </param> /// <returns> </returns> public int InsertInfo(MMS_ProductInfo info) { string msg = dao.ValidateRepeat(info); if (msg == "") { return(dao.InsertInfo(info)); } else { throw new Exception(msg); } }
/// <summary> /// 验证记录中是否有重复值 /// </summary> /// <param name="info"> 实体 </param> /// <returns> 如果不重复返回"" </returns> public string ValidateRepeat(MMS_ProductInfo info) { //查询货品信息表中货品代码与新添加或修改的货品代码相同且主键不同(新添加的货品ID为空)的记录数 int cnt1 = dc.MMS_ProductInfo.Where(itm => itm.ProductCode == info.ProductCode && itm.ID != info.ID).Count(); if (cnt1 > 0) //如果记录数大于0表示货品代码重复 { return("代码重复"); } //查询货品信息表中货品简称与新添加或修改的货品简称相同且主键不同的记录数 int cnt2 = dc.MMS_ProductInfo.Where(itm => itm.ShortName == info.ShortName && itm.ID != info.ID).Count(); if (cnt2 > 0) //如果记录数大于0表示货品简称重复 { return("简称重复"); } return(""); }
/// <summary> /// 获得最后一次销售单价 /// </summary> /// <param name="clientCode"> </param> /// <param name="productCode"> </param> /// <returns> </returns> public double GetLastSalePrice(string clientCode, string productCode) { var query = from content in dc.MMS_SaleContent where content.ClientCode == clientCode join detail in dc.MMS_SaleDetail on content.SaleBillCode equals detail.SaleBillCode where detail.ProductCode == productCode select new { id = detail.ID, price = detail.Price }; //该客户曾经购买过该商品 if (string.IsNullOrEmpty(clientCode) == false && query.Count() > 0) { int maxId = query.Max(itm => itm.id); //取该客户最后一次购买单价 return(dc.MMS_SaleDetail.Single(itm => itm.ID == maxId).Price); } else //该客户没有购买过该商品 { //取该货品最后一次销售单价 var qry = dc.MMS_SaleDetail.Where(itm => itm.ProductCode == productCode); if (qry.Count() > 0) { int maxNum = qry.Max(itm => itm.ID); return(dc.MMS_SaleDetail.Single(itm => itm.ID == maxNum).Price); } else //该货品没有销售过 { //取货品信息表中的建议价 MMS_ProductInfo prod = dc.MMS_ProductInfo.FirstOrDefault(itm => itm.ProductCode == productCode); if (prod != null) { return(prod.AdrisePrice ?? 0); } else { return(0); } } } }
/// <summary> /// 更新货品信息 /// </summary> /// <param name="info"> 货品信息实体 </param> /// <returns> </returns> public bool UpdateInfo(MMS_ProductInfo info) { return(dao.UpdateInfo(info)); }
/// <summary> /// 插入货品信息 /// </summary> /// <param name="info"> 货品信息实体 </param> /// <returns> 返回插入记录的自增主键值 </returns> public int InsertInfo(MMS_ProductInfo info) { dc.MMS_ProductInfo.InsertOnSubmit(info); dc.SubmitChanges(); return(info.ID); }