//get Product relative customer,按产品使用情况找客户 public long[] GetProdRelativeCustomer(long ProdID) { //取得该产品以及其下属的产品ID var prods = GetSubProds(ProdID); var qry = from t in CRMCustomerProds .Where(t => prods.Contains(t.ProdID)) select t.CustID; return(qry.ToArray()); }
//按市场部门找客户 public long[] GetCategoryRelativeCustomer(int catID) { //category对应的产品codes DataTable dt = DBExtBase.ExeFillTblBySqlText(this.dataCtx, @"select prodID from crmCategoryProd cp inner join crmproduct p on left(p.code,len(cp.prodcode)) = cp.prodcode where catid=" + catID.ToString()); long[] prodIDs = new long[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { prodIDs[i] = Convert.ToInt32(dt.Rows[i][0]); } var qry = from t in CRMCustomerProds .Where(t => prodIDs.Contains(t.ProdID)) select t.CustID; return(qry.ToArray()); }
//把当前记录copy到历史表 private void CopyToHistory(CRMCustomer obj) { long NextVersion; var qry = CRMCustomerProdHistorys.Where(t => t.CustID == obj.CustID); if (qry.Count() > 0) { NextVersion = qry.Max(t => t.Version) + 1; } else { NextVersion = 1; } CRMCustomerHistory h = new CRMCustomerHistory(); h.Version = NextVersion; h.BirthDay = obj.BirthDay; h.BuddyList = obj.BuddyList; h.Budget = obj.Budget; h.CommissionFactor = obj.CommissionFactor; h.CRMCustomer = obj; h.CustAddress = obj.CustAddress; h.CustBackground = obj.CustBackground; h.CustCity = obj.CustCity; h.CustCode = obj.CustCode == null?obj.CustID.ToString() : obj.CustCode; h.CustCountryID = obj.CustCountryID; h.CustDistinct = obj.CustDistinct; h.CustEmpNumID = obj.CustEmpNumID; h.CustFax = obj.CustFax; h.CustFromID = obj.CustFromID; h.CustFullName = obj.CustFullName; h.CustID = obj.CustID; h.CustIndustryID = obj.CustIndustryID; h.CustInfo = obj.CustInfo; h.CustMaterial = obj.CustMaterial; h.CustName = obj.CustName; h.CustOwnerID = obj.CustOwnerID; h.CustPayMethod = obj.CustPayMethod; h.CustPort = obj.CustPort; h.CustProvince = obj.CustProvince; h.CustPurchaseChannels = obj.CustPurchaseChannels; h.CustRelationID = obj.CustRelationID; h.CustRisk = obj.CustRisk; h.CustSaleChannels = obj.CustSaleChannels; h.CustStatusID = obj.CustStatusID; h.CustTel = obj.CustTel; h.CustTypeID = obj.CustTypeID; h.CustWeb = obj.CustWeb; h.FavoriteDest = obj.FavoriteDest; h.FavoriteProd = obj.FavoriteProd; h.Gender = obj.Gender; h.ParentCompany = obj.ParentCompany; h.Passport = obj.Passport; h.PassportExpiryDate = obj.PassportExpiryDate; h.Position = obj.Position; h.PreferPlace = obj.PreferPlace; h.PreferPrice = obj.PreferPrice; h.RequireVisa = obj.RequireVisa; h.Status = obj.Status; h.TravelDay = obj.TravelDay; h.UseOwnMoney = obj.UseOwnMoney; h.SYSID = obj.SYSID; this.CRMCustomerHistorys.InsertOnSubmit(h); var oldList = CRMCustomerProds.Where(t => t.CustID == obj.CustID).ToList(); foreach (var item in oldList) { CRMCustomerProdHistory cph = new CRMCustomerProdHistory(); cph.Brand = item.Brand; cph.CustID = item.CustID; cph.ProdID = item.ProdID; cph.Remark = item.Remark; cph.Usage = item.Usage; cph.Version = NextVersion; this.CRMCustomerProdHistorys.InsertOnSubmit(cph); } //删除旧的Customer Products this.CRMCustomerProds.DeleteAllOnSubmit(oldList); }