using System; using System.Linq; using WX.CRM.BLL.Wx; using WX.CRM.Common; using WX.CRM.DataSynFactory.Templates; namespace WX.CRM.DataSynFactory.Cmd { public class Client_SubProduct_IMP : Interfaces.IDataImportSvr { private readonly WX_SZZYSUBPRODUCT_BL _subProduct = new WX_SZZYSUBPRODUCT_BL(); private readonly WX_SZZYMIDPRODUCT_BL _midProduct = new WX_SZZYMIDPRODUCT_BL(); public bool GenerateBusinessOne(Client_SubProduct t) { try { LogHelper.Info(t.ToJson()); var subProduct = _subProduct.Get(p => p.SUBPRODUCTID == t.SUBPRODUCTID); if (subProduct == null) { subProduct = new Model.Entity.WX_SZZYSUBPRODUCT() { SUBPRODUCTID = t.SUBPRODUCTID, PRODUCTID = t.PRODUCTID, SUBPRODUCTNAME = t.SUBPRODUCTNAME, SUBPRODUCTDESC = t.SUBPRODUCTDESC, PRICE = t.PRICE, RIGHTPERIOD = t.RIGHTPERIOD, RIGHTUNIT = t.RIGHTUNIT, ISVALID = t.ISVALID, ORDEROPENTYPE = t.ORDEROPENTYPE, OPENDATE = t.OPENDATE, ENDDATE = t.ENDDATE, SORT = t.SORT, PRODUCTALIAS = t.PRODUCTALIAS, PRODUCTCODE = t.PRODUCTCODE, PRODUCTTYPE = t.PRODUCTTYPE, PRODUCTLEVEL = t.PRODUCTLEVEL, PRODUCTINVESTTIME = t.PRODUCTINVESTTIME, PRODUCTINVESTTYPE = t.PRODUCTINVESTTYPE, MID = t.Mid.HasValue ? Convert.ToDecimal(t.Mid) : 0, ISGIFT = t.IsGift.HasValue ? t.IsGift.Value : 0, ISONLINEBUY = t.IsOnlineBuy.HasValue ? Convert.ToDecimal(t.IsOnlineBuy.Value) : 0, BUYLINK = t.BuyLink, CANUPGRADE = t.CanUpgrade, CATEGORY = t.Category, CALLBACKLINK = t.CallBackLink, MIDPRODUCTID = t.MidProductId.HasValue ? t.MidProductId.Value : 0, ISCOMPLIANCE = t.IsCompliance, MIDS = t.Mids, CLOSEUPGRADEROLE = t.CloseUpgradeRole.HasValue ? Convert.ToDecimal(t.CloseUpgradeRole.Value) : 0, THIRDORDERCATE = t.ThirdOrderCate.HasValue ? Convert.ToDecimal(t.ThirdOrderCate.Value) : 0, ATT = t.Att, REMARK = t.Remark, PRODUCTEXT = t.ProductExt, DISCOUNT = t.DISCOUNT, CUSTOMPRICE = t.CUSTOMPRICE, ISDISCOUNT = t.ISDISCOUNT, ISSHOW = 1 //CHANNEL = t.Channel.HasValue ? Convert.ToDecimal(t.Channel.Value):0, //COMPANYCODE = t.CompanyCode }; _subProduct.Add(subProduct); //坐席增加产品小类 var midProduct = _midProduct.Get(p => p.MIDPRODUCTID == subProduct.MIDPRODUCTID); if (midProduct == null) { var sort = 0; var list = _midProduct.GetList(); if (list != null && list.Any()) { sort = Convert.ToInt32(list.Max(p => p.SORT) + 1); } midProduct = new Model.Entity.WX_SZZYMIDPRODUCT() { MIDPRODUCTID = subProduct.MIDPRODUCTID, PRODUCTID = subProduct.PRODUCTID, MIDPRODUCTNAME = t.productTxt3, SORT = sort }; LogHelper.Info("midProduct:" + midProduct.ToJson()); _midProduct.Add(midProduct); } } else { if (subProduct.ISVALID == 0 && t.ISVALID == 1)//修改了上线状态 { subProduct.ISSHOW = 1; } subProduct.PRODUCTID = t.PRODUCTID; subProduct.SUBPRODUCTNAME = t.SUBPRODUCTNAME; subProduct.SUBPRODUCTDESC = t.SUBPRODUCTDESC; subProduct.PRICE = t.PRICE; subProduct.RIGHTPERIOD = t.RIGHTPERIOD; subProduct.RIGHTUNIT = t.RIGHTUNIT; subProduct.ISVALID = t.ISVALID; subProduct.ORDEROPENTYPE = t.ORDEROPENTYPE; subProduct.OPENDATE = t.OPENDATE; subProduct.ENDDATE = t.ENDDATE; subProduct.SORT = t.SORT; subProduct.PRODUCTALIAS = t.PRODUCTALIAS; subProduct.PRODUCTCODE = t.PRODUCTCODE; subProduct.PRODUCTTYPE = t.PRODUCTTYPE; subProduct.PRODUCTLEVEL = t.PRODUCTLEVEL; subProduct.PRODUCTINVESTTIME = t.PRODUCTINVESTTIME; subProduct.PRODUCTINVESTTYPE = t.PRODUCTINVESTTYPE; subProduct.MID = t.Mid.HasValue ? Convert.ToDecimal(t.Mid.Value) : 0; subProduct.ISGIFT = t.IsGift ?? 0; subProduct.ISONLINEBUY = t.IsOnlineBuy; subProduct.BUYLINK = t.BuyLink; subProduct.CANUPGRADE = t.CanUpgrade; subProduct.CATEGORY = t.Category; subProduct.CALLBACKLINK = t.CallBackLink; subProduct.MIDPRODUCTID = t.MidProductId.HasValue ? t.MidProductId.Value : 0; subProduct.ISCOMPLIANCE = t.IsCompliance; subProduct.MIDS = t.Mids; subProduct.CLOSEUPGRADEROLE = t.CloseUpgradeRole ?? 0; subProduct.THIRDORDERCATE = t.ThirdOrderCate ?? 0; subProduct.ATT = t.Att; subProduct.REMARK = t.Remark; subProduct.PRODUCTEXT = t.ProductExt; subProduct.DISCOUNT = t.DISCOUNT; subProduct.CUSTOMPRICE = t.CUSTOMPRICE; subProduct.ISDISCOUNT = t.ISDISCOUNT; //subProduct.ISSHOW = t.ISVALID; _subProduct.Update(subProduct); //坐席增加产品小类 var midProduct = _midProduct.Get(p => p.MIDPRODUCTID == subProduct.MIDPRODUCTID); if (midProduct == null) { var sort = 0; var list = _midProduct.GetList(); if (list != null && list.Any()) { sort = Convert.ToInt32(list.Max(p => p.SORT) + 1); } midProduct = new Model.Entity.WX_SZZYMIDPRODUCT() { MIDPRODUCTID = subProduct.MIDPRODUCTID, PRODUCTID = subProduct.PRODUCTID, MIDPRODUCTNAME = t.productTxt3, SORT = sort }; LogHelper.Info("midProduct:" + midProduct.ToJson()); _midProduct.Add(midProduct); } else { midProduct.MIDPRODUCTNAME = t.productTxt3; _midProduct.Update(midProduct); } } return true; } catch (Exception ex) { LogHelper.Error(ex.ToString()); return false; } } } }