private static bool CallLoginCheck(string pName, string pPassword, ref string pErrorMsg, ref int result, ref PersonMember person, ref string vno, ref string extCardNo) { using (var client = new MemberServiceClient()) { try { result = client.LoginCheck(out person, out vno, out extCardNo, pName, pPassword); if (person == null) { pErrorMsg = "用户名或密码无效"; return false; } } catch (SoapException soapException) { HZLogger.Error(soapException); pErrorMsg = "会员系统无法访问"; return false; } } return true; }
private Member ConvertToMemberInfo(PersonMember pMember, string pDefaultVCardNo) { if (pMember == null) return null; MemberLevel memberLevel = MemberLevel.Parse(pMember.MemberLevel); var memberInfo = new Member { Address = pMember.Address, BDCardNo = pMember.BDCardNo, Birthday = pMember.Birthday != null ? pMember.Birthday.Value : DateTime.MinValue, Caller = pMember.Caller, CityCode = pMember.CityCode, CountryCode = pMember.CountryCode, CreditPoint = pMember.CreditPoint.HasValue ? pMember.CreditPoint.Value : 0.0m, CreditValue = pMember.CreditValue.HasValue ? pMember.CreditValue.Value : 0.0m, Email = pMember.Email, ExpireTime = pMember.ExpireTime.HasValue ? pMember.ExpireTime.Value : DateTime.MinValue, ExtraFlags = pMember.ExtraFlags, Fax = pMember.Fax, Gender = pMember.Gender, MemberId = pMember.MemberID, MemberLevelID = memberLevel.ID, MemberLevelDesc = pMember.IsForever ? "永久" + memberLevel.Description : memberLevel.Description, IsForever = pMember.IsForever, Mobile = pMember.Mobile, Phone = pMember.Phone, Point = pMember.Point.HasValue ? pMember.Point.Value : 0.0m, ProvinceCode = pMember.ProvinceCode, RegisterTime = pMember.RegisterTime.HasValue ? pMember.RegisterTime.Value : DateTime.MinValue, SourceChannel = pMember.SourceChannel, SourceDetailCode = pMember.SourceDetailCode, SourceType = pMember.SourceType, StatusCode = pMember.StatusCode, Town = pMember.Town, Value = pMember.Value.HasValue ? pMember.Value.Value : 0.0m, WebName = pMember.WebName, WebSite = pMember.WebSite, ZipCode = pMember.ZipCode, Name = pMember.Name, IDNo = pMember.IDNo, IDType = pMember.IDType, DefaultVCardNo = string.IsNullOrEmpty(pDefaultVCardNo) ? GetVnoWithMemberId(pMember.MemberID) : pDefaultVCardNo//此接口无法获取VNO;调用CRM的CardService获取补充 }; //特殊状态处理 string statusCode = string.IsNullOrEmpty(pMember.StatusCode) ? "" : pMember.StatusCode.Trim(); //如果登陆失败获取错误原因 string loginMsg = TryGetLoginFailedMessage(statusCode, pMember.MemberLevel); if (string.IsNullOrEmpty(loginMsg)) { memberInfo.LoginSuccess = true; memberInfo.LoginMsg = string.Empty; } else { memberInfo.LoginSuccess = false; memberInfo.LoginMsg = loginMsg; } return memberInfo; }