public void SendFindPwdCode(SendFindPwdCodeParameter param) { using (var context = base.CreateUserContext()) { bool isMobile = StringHelper.IsMobile(param.EmailOrMobile); var q = from t in context.Accounts where t.AppID == param.AppID && (isMobile ? t.Mobile == param.EmailOrMobile : t.Email == param.EmailOrMobile) select t; var user = q.SingleOrDefault(); if (user == null) { throw new InvalidInvokeException("Email或手机未注册"); } if (isMobile) { var flags = (UserFlags)user.Flags; if ((flags & UserFlags.AuthenticMobile) != UserFlags.AuthenticMobile) { throw new InvalidInvokeException("手机未验证"); } this.SendAuthMobile(new SendAuthMobileParameter() { AppID = user.AppID, UserName = user.UserName, Mobile = param.EmailOrMobile, Kind = AuthMobileKind.FindPassword }); } else { this.SendAuthEmail(new SendAuthEmailParameter() { AppID = user.AppID, UserID = user.RowID, Email = param.EmailOrMobile, Kind = AuthEmailKind.FindPassword }); } } }
public void SendFindPwdCode(SendFindPwdCodeParameter param) { mgr.SendFindPwdCode(param); }