public void SaveMemberInfo()
        {
            //保存车易通信息
            Entities.ProjectTask_DMSMember member = null;
            Validate(false, out member);
            if (member != null)
            {
                BLL.ProjectTask_DMSMember.Instance.InsertOrUpdate(member);
            }

            //保存车商通信息
            BitAuto.YanFa.Crm2009.Entities.CstMember member1 = null;
            string Brands = "";

            //Crm2009.Entities.CSTMember_Brand modelBrand = null;
            BitAuto.YanFa.Crm2009.Entities.CSTLinkMan modelLinkMan = null;
            ValidateCSTMember(false, out member1, out Brands, out modelLinkMan);
            if (member1 != null)
            {
                BitAuto.YanFa.Crm2009.BLL.CstMember.Instance.UpdateCstMember(member1);
            }
            //主营品牌 12.6.4注释
            //if (Brands != "")
            //{
            //    string[] brandID = Brands.Split(',');
            //    Crm2009.BLL.CSTMember_Brand.Instance.DeleteByCSTRecID(member1.CSTRecID);
            //    for (int i = 0; i < brandID.Length; i++)
            //    {
            //        if (brandID[i] != "")
            //        {
            //            Crm2009.Entities.CSTMember_Brand modelBrand = new Crm2009.Entities.CSTMember_Brand();
            //            modelBrand.CSTRecID = member1.CSTRecID;
            //            modelBrand.CreateTime = DateTime.Now;
            //            modelBrand.BrandID = int.Parse(brandID[i]);
            //            Crm2009.BLL.CSTMember_Brand.Instance.Add(modelBrand);
            //        }
            //    }
            //}
            if (modelLinkMan != null)
            {
                BitAuto.YanFa.Crm2009.BLL.CSTLinkMan.Instance.Update(modelLinkMan);
            }
        }
示例#2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //this.tfCstMemberShortName.Attributes.Add("onblur", "javascript:uCEditCstMemberHelper_" + ID + ".createMemberCode();");
                this.sltCstLinkMan.Attributes.Add("onchange", "uCEditCstMemberHelper_" + ID + ".getContactInfo()");
                BindSuperCompany();
                BindContrats();
                //客户类型


                string memberId            = string.Empty;
                string originalDMSMemberID = string.Empty;
                if (this.Member != null)
                {
                    #region 车商通会员基本信息
                    originalDMSMemberID             = MemberID.ToString();
                    memberId                        = Member.ID.ToString();
                    this.tfCstMemberID.Value        = Member.ID.ToString();
                    this.tfRecID.Value              = Member.CSTRecID.ToString();
                    this.tfCstMemberFullName.Value  = Member.FullName;
                    this.tfCstMemberShortName.Value = Member.ShortName;
                    this.tfCstMemberPostCode.Value  = Member.PostCode;
                    this.selCstMemberType.Value     = Member.VendorClass.ToString();
                    //this.tfTrafficInfo.Value = Member.TrafficInfo;
                    //this.tfVendorCode.Value = Member.VendorCode;
                    this.tfCstMemberAddress.Value = Member.Address;
                    this.sltSuperId.Value         = Member.SuperId.ToString();
                    this.selCstMemberType.Value   = Member.VendorClass.ToString();
                    DataTable dt = BitAuto.YanFa.Crm2009.BLL.CSTMember_Brand.Instance.Get_CSTMember_MainBrand(Member.CSTRecID);
                    int       i  = 0;
                    foreach (DataRow dr in dt.Rows)
                    {
                        this.tfCstMemberBrand.Value += dr["BrandId"].ToString();
                        if (i != dt.Rows.Count - 1)
                        {
                            this.tfCstMemberBrand.Value += ",";
                        }
                    }
                    if (this.tfCstMemberBrand.Value.Length > 0)
                    {
                        this.tfCstMemberBrandName.Value = BitAuto.YanFa.Crm2009.BLL.CarBrand.Instance.GetBrandNames(this.tfCstMemberBrand.Value);
                    }

                    this.InitialProvinceID = Member.ProvinceID;
                    this.InitialCityID     = Member.CityID;
                    this.InitialCountyID   = Member.CountyID;
                    #endregion

                    #region 车商通会员联系人信息
                    BitAuto.YanFa.Crm2009.Entities.CSTLinkMan linkManInfo = BitAuto.YanFa.Crm2009.BLL.CSTLinkMan.Instance.GetModelByCSTRecID(Member.CSTRecID);
                    if (linkManInfo != null)
                    {
                        //this.tfLinkManDepartment.Value = linkManInfo.Department;
                        this.tfLinkManEmail.Value  = linkManInfo.Email;
                        this.tfLinkManMobile.Value = linkManInfo.Mobile;
                        //this.tfLinkManPosition.Value = linkManInfo.Position;
                        this.tfLinkManName.Value = linkManInfo.Name;
                    }
                    #endregion
                }
            }
        }
        //验证车商通信息
        public void ValidateCSTMember(bool whenSubmit, out BitAuto.YanFa.Crm2009.Entities.CstMember member, out string Brands, out BitAuto.YanFa.Crm2009.Entities.CSTLinkMan modelLinkMan)
        {
            Regex reMemberPhoneAndFax = new Regex(@"(^0[0-9]{2,3}-[0-9]{7,8}$)|(^0[0-9]{2,3}-[0-9]{7,8}-[0-9]{1,5}$)|(^13[0-9]{9}$)|(^15[0-9]{9}$)|(^18[0-9]{9}$)|(^400\d{7}$)");

            //Regex regexMobile = new Regex(@"^[1]+[3,5,8]+\d{9}");


            if (OriginalCSTRecID != string.Empty)
            {
                //判断基本条件填写是否无误
                if (string.IsNullOrEmpty(CstMemberFullName))
                {
                    throw new Exception("会员名称不能为空!");
                }
                else if (CstMemberFullName.Length > 50)
                {
                    throw new Exception("会员名称超长!");
                }

                if (string.IsNullOrEmpty(CstMemberShortName))
                {
                    throw new Exception("会员简称不可为空!");
                }
                else if (BLL.Util.GetLength(CstMemberShortName) > 16)//Modify=Masj,Date=2012-08-28
                {
                    throw new Exception("会员简称不能超过16个字符!");
                }

                //if (CstVendorCode.Length == 0)
                //{
                //    throw new Exception("会员编码不能为空!");
                //}
                //else if (CstVendorCode.Length > 8)
                //{
                //    throw new Exception("会员编码不能超过8个字符!");
                //}

                //if (CstMemberPostCode.Length == 0)
                //{
                //    throw new Exception(CstMemberFullName + ",会员邮编不能为空!");
                //}
                //else if (CstMemberPostCode.Length > 6)
                //{
                //    throw new Exception(CstMemberFullName + ",会员邮编填写错误!");
                //}

                if (int.Parse(CstSuperId) <= 0)
                {
                    throw new Exception(CstMemberFullName + ",请选择上级公司!");
                }
                if (CstMemberType == "-1")
                {
                    throw new Exception(CstMemberFullName + ",会员类型不能为空!");
                }
                if (CstMemberProvince == "-1" || CstMemberCity == "-1" || CstMemberCounty == "-1")
                {
                    throw new Exception(CstMemberFullName + ",所在地区填写不完整!");
                }
                if (CstLinkManName == "")
                {
                    throw new Exception("请填写车商通联系人名字!");
                }
                if (CstLinkManMobile == "")
                {
                    throw new Exception("请填写车商通联系人手机号!");
                }
                if (!BLL.Util.IsHandset(CstLinkManMobile))
                {
                    throw new Exception("车商通联系人手机号码格式不正确 ");
                }
                Regex MyRegex1 = new Regex(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
                if (CstLinkManEmail == "")
                {
                    throw new Exception("请填写车商通联系人电子邮件!");
                }
                if (!MyRegex1.IsMatch(CstLinkManEmail))
                {
                    throw new Exception("车商通联系人电子邮件格式不正确 ");
                }

                int id = -1;
                if (!int.TryParse(CstMemberID, out id))
                {
                    throw new Exception("会员ID无法转换为int类型");
                }
                member = BitAuto.YanFa.Crm2009.BLL.CstMember.Instance.GetCstMemberModel(OriginalCSTRecID);
                Brands = "";
                //modelBrand = Crm2009.BLL.CSTMember_Brand.Instance.GetModelByCSTRecID(OriginalCSTRecID);

                modelLinkMan = BitAuto.YanFa.Crm2009.BLL.CSTLinkMan.Instance.GetModelByCSTRecID(OriginalCSTRecID);
                if (modelLinkMan == null)
                {
                    throw new Exception("车商通会员无联系人信息,无法操作");
                }

                member.ID = int.Parse(CstMemberID);

                member.FullName = CstMemberFullName;

                member.ShortName = CstMemberShortName;

                //对crm库检查会员简称、会员名称、会员编码是否重复
                #region 查重名
                if (whenSubmit)//提交时判断重名
                {
                    //对cc库检查会员简称、会员名称、会员编码是否重复 12.6.7 lxw
                    string where1 = " AND FullName='" + Utils.StringHelper.SqlFilter(CstMemberFullName) + "' and Status=0 and OriginalCSTRecID!='" + StringHelper.SqlFilter(OriginalCSTRecID) + "'";
                    if (BLL.ProjectTask_CSTMember.Instance.IsExistSameName(where1) == true)
                    {
                        throw new Exception(CstMemberFullName + ",cc库中有重名的会员名称!");
                    }

                    string where2 = " AND ShortName='" + Utils.StringHelper.SqlFilter(CstMemberShortName) + "' and Status=0 and OriginalCSTRecID!='" + StringHelper.SqlFilter(OriginalCSTRecID) + "'";
                    if (BLL.ProjectTask_CSTMember.Instance.IsExistSameName(where2) == true)
                    {
                        throw new Exception(CstMemberShortName + ",cc库中有重名的会员简称!");
                    }

                    string where3 = " AND VendorCode='" + Utils.StringHelper.SqlFilter(CstVendorCode) + "' and Status=0 and OriginalCSTRecID!='" + StringHelper.SqlFilter(OriginalCSTRecID) + "'";
                    if (BLL.ProjectTask_CSTMember.Instance.IsExistSameName(where3) == true)
                    {
                        throw new Exception(CstVendorCode + ",cc库中有重名的会员编码!");
                    }

                    //是否存在重名的会员名称
                    if (OriginalCSTRecID != string.Empty)
                    {
                        string where11 = " FullName='" + Utils.StringHelper.SqlFilter(CstMemberFullName) + "' and CSTRecID!='" + StringHelper.SqlFilter(OriginalCSTRecID) + "'";
                        if (BitAuto.YanFa.Crm2009.BLL.CstMember.Instance.ExistsCstMember(where11) > 0)
                        {
                            throw new Exception(CstMemberFullName + ",crm库中有重名的会员名称!");
                        }
                    }
                    //是否存在重名的会员简称
                    if (OriginalCSTRecID != string.Empty)
                    {
                        string where12 = " ShortName='" + Utils.StringHelper.SqlFilter(CstMemberShortName) + "' and CSTRecID!='" + OriginalCSTRecID + "'";
                        if (BitAuto.YanFa.Crm2009.BLL.CstMember.Instance.ExistsCstMember(where12) > 0)
                        {
                            throw new Exception(CstMemberShortName + ",crm库中有重名的会员简称!");
                        }
                    }
                }
                #endregion 查重名

                member.PostCode = CstMemberPostCode;

                member.SuperId = int.Parse(CstSuperId);

                member.VendorCode = CstVendorCode;

                member.VendorClass = int.Parse(CstMemberType);

                member.ProvinceID = CstMemberProvince;
                member.CityID     = CstMemberCity;
                member.CountyID   = CstMemberCounty;

                if (CstMemberAddress.Length != 0)
                {
                    member.Address = CstMemberAddress;
                }

                //交通信息 12.6.4注释
                //if (CstTrafficInfo.Length != 0)
                //{
                //    member.TrafficInfo = CstTrafficInfo;
                //}

                //主营品牌信息 12.6.4注释
                //if (CstMemberType == "20003" & CstMemberBrand.Length == 0)
                //{
                //    throw new Exception(CstMemberFullName + ",至少选择一个主营品牌!");
                //}
                //else
                //{
                //    Brands = CstMemberBrand;
                //}
                Brands = "";

                //联系人信息
                //12.6.4注释
                //if (CstLinkManDepartment == "")
                //{
                //    throw new Exception("请填写车商通联系人部门!");
                //}
                //modelLinkMan.Department = CstLinkManDepartment;

                modelLinkMan.Name = CstLinkManName;

                //12.6.4注释
                //if (CstLinkManPosition == "")
                //{
                //    throw new Exception("请填写车商通联系人职务!");
                //}
                //modelLinkMan.Position = CstLinkManPosition;

                modelLinkMan.Mobile = CstLinkManMobile;

                modelLinkMan.Email = CstLinkManEmail;
            }
            else
            {
                member       = null;
                Brands       = "";
                modelLinkMan = null;
            }
        }
        public void SubmitMemberInfo()
        {
            //车易通信息提交
            Entities.ProjectTask_DMSMember member = null;
            Validate(true, out member);
            if (member != null)
            {
                if (BitAuto.YanFa.Crm2009.BLL.DMSMember.Instance.IsExistsByAbbrName(member.OriginalDMSMemberID, member.Abbr, 1))
                {
                    throw new Exception("此会员简称在Crm库中已存在");
                }
                else
                {
                    Guid memberGuid = new Guid(member.OriginalDMSMemberID);
                    BitAuto.YanFa.Crm2009.Entities.DMSMember dmsMember = BitAuto.YanFa.Crm2009.BLL.DMSMember.Instance.GetDMSMember(memberGuid);
                    dmsMember.Abbr            = member.Abbr;
                    dmsMember.BrandGroupID    = member.BrandGroupID;
                    dmsMember.BrandIds        = member.BrandIDs;
                    dmsMember.BrandNames      = member.BrandNames;
                    dmsMember.CityID          = member.CityID;
                    dmsMember.CompanyWebSite  = member.CompanyWebSite;
                    dmsMember.ContactAddress  = member.ContactAddress;
                    dmsMember.CountyID        = member.CountyID;
                    dmsMember.Email           = member.Email;
                    dmsMember.EnterpriseBrief = member.EnterpriseBrief;
                    dmsMember.Fax             = member.Fax;
                    dmsMember.TrafficInfo     = member.TrafficInfo;
                    dmsMember.Remarks         = member.Remarks;
                    dmsMember.ProvinceID      = member.ProvinceID;
                    dmsMember.Postcode        = member.Postcode;
                    dmsMember.Phone           = member.Phone;
                    dmsMember.Name            = member.Name;
                    dmsMember.MemberType      = member.MemberType;
                    dmsMember.Remarks         = member.Remarks;
                    dmsMember.SerialIds       = member.SerialIds;
                    dmsMember.SerialNames     = member.SerialIds;

                    dmsMember.MapCoordinateList.Add(new BitAuto.YanFa.Crm2009.Entities.DMSMapCoordinate(
                                                        memberGuid, BitAuto.YanFa.Crm2009.Entities.Constants.Constant.MapProviderName,
                                                        member.Longitude, member.Lantitude)
                                                    );
                    if (dmsMember.SyncStatus == (int)BitAuto.YanFa.Crm2009.Entities.EnumDMSSyncStatus.Rejected)
                    {
                        string content = BitAuto.YanFa.Crm2009.BLL.DMSMember.Instance.GetUpdateContent(dmsMember, "{0}由【{1}】修改为【{2}】", ',');
                        content = string.Format("为【{0}(ID:{1})】修改会员【{2}(ID:{3})】{4}。",
                                                dmsMember.CustName, dmsMember.CustID, member.Name, member.MemberCode,
                                                content.Length > 0 ? ":" + content : string.Empty);
                        BitAuto.YanFa.SysRightManager.Common.LogInfo.Instance.InsertLog(ConfigurationUtil.GetAppSettingValue("MemberLogModuleID"), (int)BitAuto.YanFa.SysRightManager.Common.LogInfo.ActionType.Update, content);
                        BLL.ProjectTask_DMSMember.Instance.InsertOrUpdate(member);      //保存cc会员信息
                        dmsMember.SyncStatus = (int)BitAuto.YanFa.Crm2009.Entities.EnumDMSSyncStatus.ApplyFor;
                        BitAuto.YanFa.Crm2009.BLL.DMSMember.Instance.Update(dmsMember); //保存crm会员信息
                        BitAuto.YanFa.Crm2009.BLL.DMSMember.Instance.InsertSyncLog(memberGuid, (int)BitAuto.YanFa.Crm2009.Entities.EnumDMSSyncStatus.ApplyFor, "申请成功(呼叫中心二次审核)", BLL.Util.GetLoginUserID(), DateTime.Now);
                    }
                    else
                    {
                        throw new Exception("此会员不可提交到crm中,因为此会员不是打回状态");
                    }
                }
            }

            //车商通信息提交
            BitAuto.YanFa.Crm2009.Entities.CstMember cstMember = null;
            string Brands = "";

            //Crm2009.Entities.CSTMember_Brand modelBrand = null;
            BitAuto.YanFa.Crm2009.Entities.CSTLinkMan cstLinkMan = null;
            ValidateCSTMember(true, out cstMember, out Brands, out cstLinkMan);


            if (cstMember != null)
            {
                if (cstMember.SyncStatus == (int)BitAuto.YanFa.Crm2009.Entities.EnumCSTSyncStatus.Rejected)
                {
                    //当CstMemberID字段有值时,更新交通信息的接口 12.6.4注释
                    //if (cstMember.CstMemberID != Entities.Constants.Constant.INT_INVALID_VALUE && cstMember.CstMemberID != 0)
                    //{
                    //    //更新车商通信息接口
                    //    string msg = "";
                    //    int[] arrBrand = null;
                    //    //主营品牌
                    //if (Brands != "")
                    //{
                    //    string[] ids = Brands.Split(',');
                    //    arrBrand = new int[ids.Length];
                    //    for (int i = 0; i < ids.Length; i++)
                    //    {
                    //        arrBrand[i] = Convert.ToInt32(ids[i].ToString());
                    //    }
                    //}
                    //       bool result = BitAuto.YanFa.DMSInterface.CstMemberServiceHandler.UpdateTranstarUserInfo(cstMember.CstMemberID, cstMember.FullName, cstMember.ShortName,
                    //cstMember.VendorClass, cstMember.SuperId, cstMember.ProvinceID, cstMember.CityID, out msg);
                    //if (result == false)
                    //{
                    //    throw new Exception(msg);
                    //}
                    //}

                    string content = BitAuto.YanFa.Crm2009.BLL.CstMember.Instance.GetUpdateContent(cstMember, cstLinkMan, "{0}由【{1}】修改为【{2}】", ',');
                    content = string.Format("为【{0}(ID:{1})】修改会员【{2}(ID:{3})】{4}。",
                                            cstMember.CustName, cstMember.CustID, cstMember.FullName, cstMember.VendorCode,
                                            content.Length > 0 ? ":" + content : string.Empty);
                    BitAuto.YanFa.SysRightManager.Common.LogInfo.Instance.InsertLog(ConfigurationUtil.GetAppSettingValue("MemberLogModuleID"), (int)BitAuto.YanFa.SysRightManager.Common.LogInfo.ActionType.Update, content);

                    cstMember.SyncStatus = (int)BitAuto.YanFa.Crm2009.Entities.EnumCSTSyncStatus.ApplyFor;
                    BitAuto.YanFa.Crm2009.BLL.CstMember.Instance.UpdateCstMember(cstMember);//保存crm车商通会员信息

                    //插入开通日志
                    cstMember.CreateTime = DateTime.Now;
                    BitAuto.YanFa.Crm2009.BLL.CSTMemberSyncLog.Instance.AddSynclog(cstMember.CSTRecID, cstMember.SyncStatus, "申请成功(呼叫中心二次审核)", cstMember.CreateUserID, cstMember.CreateTime);

                    //更新Crm车商通主营品牌信息 12.6.4注释
                    //if (Brands != "")
                    //{
                    //    string[] brandID = Brands.Split(',');
                    //    Crm2009.BLL.CSTMember_Brand.Instance.DeleteByCSTRecID(cstMember.CSTRecID);
                    //    for (int i = 0; i < brandID.Length; i++)
                    //    {
                    //        if (brandID[i] != "")
                    //        {
                    //            Crm2009.Entities.CSTMember_Brand modelBrand = new Crm2009.Entities.CSTMember_Brand();
                    //            modelBrand.CSTRecID = cstMember.CSTRecID;
                    //            modelBrand.CreateTime = DateTime.Now;
                    //            modelBrand.BrandID = int.Parse(brandID[i]);
                    //            Crm2009.BLL.CSTMember_Brand.Instance.Add(modelBrand);
                    //        }
                    //    }
                    //}

                    BitAuto.YanFa.Crm2009.BLL.CSTLinkMan.Instance.Update(cstLinkMan);//保存crm车商通会员联系人信息
                }
                else
                {
                    throw new Exception("此车商通会员不可提交到crm中,因为此车商通会员不是打回状态");
                }
            }
        }