public ActionResult MemberEditProfileRenderForm() { var memberService = Services.MemberService; var model = new MemberRegisterModel(); var curMember = memberService.GetById(Members.GetCurrentMemberId()); model.FirstName = curMember.GetValue <string>("firstname"); model.LastName = curMember.GetValue <string>("lastname"); model.MailingListInclude = curMember.GetValue <bool>("mailingListInclude"); // this is not doing anything - replace with your mailchimp integration! return(PartialView("Account/MemberEditProfile", model)); }
public IHttpActionResult Register(MemberRegisterModel memberRegisterModel) { string error_message = "Register錯誤,請至伺服器log查詢錯誤訊息"; if (!ModelState.IsValid) { return(Ok(new { result = ModelState })); } try { //信箱重複 if (MemberExists(memberRegisterModel.email)) { return(Ok(new { result = "信箱重複" })); } //正常流程 Member member = new Member(); member.membername = memberRegisterModel.membername; member.phone = memberRegisterModel.phone; member.email = memberRegisterModel.email; member.pwdsalt = Utility.CreateSalt();; member.pwd = Utility.GenerateHashWithSalt(memberRegisterModel.pwd, member.pwdsalt); member.del_flag = "N"; member.avatar = memberRegisterModel.avatar; db.Member.Add(member); db.SaveChanges(); return(Ok(new { result = "註冊成功" })); } catch (Exception ex) { Utility.log("會員註冊", ex.ToString()); return(Ok(new { result = error_message })); } }
public async Task <IActionResult> Register(MemberRegisterModel registerModel) { //reqem,boyuk kicik herf,minimum 8 uzunluq,3 defe sehv yigma if (!ModelState.IsValid) { return(View()); } AppUser existUser = await _userManager.FindByNameAsync(registerModel.UserName); if (existUser != null) { ModelState.AddModelError("UserName", "UserName already taken"); return(View()); } AppUser newUser = new AppUser() { FullName = registerModel.FullName, UserName = registerModel.UserName, IsAdmin = false, }; var result = await _userManager.CreateAsync(newUser, registerModel.Password); if (!result.Succeeded) { foreach (var item in result.Errors) { if (item.Code == "PasswordTooShort") { item.Description = "Passwordun uzunlugu 8-den kicik ola bilmez"; } else if (item.Description == "ConfirmedPassword and Password do not match.") { item.Description = "Alinmadi"; } ModelState.AddModelError("", item.Description); } return(View()); } await _userManager.AddToRoleAsync(newUser, "Member"); await _signInManager.SignInAsync(newUser, true); return(RedirectToAction("index", "home")); }
public static bool MemberRegister(MemberRegisterModel memberRegisterModel, out int repeatCode, out string errMsg, ref object result_data) { errMsg = string.Empty; repeatCode = 0; string url = SysConfigBusiness.XCCloudHost + "/xccloud/member?action=register"; string param = Utils.SerializeObject(memberRegisterModel); string resultJson = Utils.HttpPost(url, param); if (Utils.CheckApiReturnJson(resultJson, ref result_data, out errMsg)) { object repeatCodeObj = Utils.GetJsonObjectValue(result_data, "repeatCode"); repeatCode = Convert.ToInt32(repeatCodeObj); return(true); } else { return(false); } }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { if (model.Agreement) { MemberRegisterModel m = new MemberRegisterModel() { InviteCode = model.InviteCode, MemberName = model.MemberName, MemberPhone = model.MemberPhone, Password = model.Password }; Dictionary <bool, string> dic = await _memberService.RegisterMember(m); if (dic.First().Key) { Members member = await DbHelper.QuerySingleAsync <Members>("select * from Members where MemberName=@MemberName and MemberPhone=@MemberPhone", new { MemberName = model.MemberName, MemberPhone = model.MemberPhone }); this.Session["UserInfo"] = member; return(Redirect("/User/Info")); } else { ViewBag.ErrorMessage = dic.First().Value; } } else { ViewBag.ErrorMessage = "请勾选 我已阅读并同意无忧借款服务协议"; } } return(View(model)); }
public async Task <JsonResult <MemberRegisterModel> > RegisterMember(MemberRegisterModel entity) { Dictionary <bool, string> dic = await _memberService.RegisterMember(entity); if (dic.First().Key) { //根据用户名和手机号获取MemberID Members member = await DbHelper.QuerySingleAsync <Members>("select * from Members where MemberName=@MemberName and MemberPhone=@MemberPhone", new { MemberName = entity.MemberName, MemberPhone = entity.MemberPhone }); entity.MemberID = member.MemberID; } return(new JsonResult <MemberRegisterModel> { status = dic.First().Key, Message = dic.First().Value, Data = entity }); }
/// <summary> /// 注册用户 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <Dictionary <bool, string> > RegisterMember(MemberRegisterModel model) { Dictionary <bool, string> dic = new Dictionary <bool, string>(); DbParameter[] parameters = new DbParameter[] { new SqlParameter("@MemberName", SqlDbType.NVarChar, 50) { Value = model.MemberName }, new SqlParameter("@MemberPhone", SqlDbType.NVarChar, 50) { Value = model.MemberPhone }, new SqlParameter("@Password", SqlDbType.NVarChar, 100) { Value = model.HashPassword }, new SqlParameter("@InviteCode", SqlDbType.NVarChar, 50) { Value = model.InviteCode ?? (object)DBNull.Value }, new SqlParameter("@Flag", SqlDbType.Bit) { Direction = ParameterDirection.Output }, new SqlParameter("@Message", SqlDbType.NVarChar, 50) { Direction = ParameterDirection.Output } }; await DbHelper.ExecuteSqlCommandAsync("Member_Register", parameters, CommandType.StoredProcedure); dic.Add((bool)parameters[4].Value, parameters[5].Value.ToString()); return(dic); }
public ActionResult Create(MemberRegisterModel Mr) { MemberModel M = Mr.member; E_health_careModels.LoginModel L = Mr.login; L.UserType = "Member"; tblLogin ln = new tblLogin(); ln.intLoginid = L.Loginid; ln.strEmail = L.Email; ln.strPassword = L.Password; ln.strUserType = L.UserType; db.tblLogins.Add(ln); db.SaveChanges(); tblMember me = new tblMember(); me.intMemberID = M.MemberID; me.intLoginID = ln.intLoginid; me.strMemberName = M.MemberName; me.intAge = M.Age; me.strAddress = M.Address; me.strPhoneNo = M.PhoneNo; me.strGender = M.Gender; db.tblMembers.Add(me); db.SaveChanges(); return(RedirectToAction("Authenticate", "Login")); }
public static void CreateICCard(string msg, Dictionary <string, Session> sessionPool, string sendIP) { string sRepeatCode = (new Random()).Next(0, 255).ToString(); string receiveIP = string.Empty; string dogId = string.Empty; string storePassword = string.Empty; string newICCardId = string.Empty; string errMsg = string.Empty; string answerMsgType = Convert.ToInt32(TCPMessageType.办理新IC卡).ToString(); //解析消息对象 SocketDataModel <UserSendObject, MemberRegisterModel> socketDataModel = Utils.DataContractJsonDeserializer <SocketDataModel <UserSendObject, MemberRegisterModel> >(msg); UserSendObject sendObj = socketDataModel.SendObject; MemberRegisterModel memberRegisterModel = (MemberRegisterModel)(socketDataModel.Data); newICCardId = memberRegisterModel.ICCardId; //接受信息方是否存在 if (!GetIP(sessionPool, sendObj.UserToken, out receiveIP)) { SendFailData(answerMsgType, sessionPool, sendIP, "用户未注册"); return; } //获取店密码接口 string userToken = sendObj.UserToken; if (!StoreBusiness.GetStorePassword(userToken, out storePassword, out errMsg)) { SendFailData(answerMsgType, sessionPool, sendIP, "获取门店信息出错"); return; } //验证是否可以办卡 if (ICCardUtility.CheckNullCard(storePassword)) { if (MemberBusiness.CheckMemberCanRegister(userToken, memberRegisterModel.StoreId, memberRegisterModel.Mobile, out errMsg)) { //办理新卡 if (ICCardUtility.CreateICCard(newICCardId, sRepeatCode, storePassword, out errMsg, true)) { memberRegisterModel.RepeatCode = sRepeatCode; object result_data = null; int repeatCode = 0; if (MemberBusiness.MemberRegister(memberRegisterModel, out repeatCode, out errMsg, ref result_data)) { SendSuccessData(answerMsgType, sessionPool, sendIP, "会员卡开通成功", result_data); } else { SendFailData(answerMsgType, sessionPool, sendIP, errMsg); } } else { SendFailData(answerMsgType, sessionPool, sendIP, errMsg); } } else { SendFailData(answerMsgType, sessionPool, sendIP, errMsg); } } else { SendFailData(answerMsgType, sessionPool, sendIP, "本卡已使用,请插入空卡"); } }
public ActionResult MemberRegisterForm(MemberRegisterModel model) { if (ModelState.IsValid) { var memberService = Services.MemberService; // Recommend to use the member's email as a username so we only need to check this here - if you've got legacy users with other user names you'll // need to change this. if (MemberHelper.EmailIsInUse(model.Email)) { var curMember = memberService.GetByEmail(model.Email); // Here's the question - should you expose that an email address is in use already? This allows for phishing etc... how else to tell a user // the reason they can't complete the registration is, well, because they are already registered! // for security you should probably send them an email at this point with a link to reset their password if need be saying they are // already registered // See https://www.troyhunt.com/everything-you-ever-wanted-to-know/ // Set up the info for the already registered email Dictionary <string, string> alreadyemailFields = new Dictionary <string, string> { { "FIRSTNAME", curMember.GetValue <string>("firstname") }, { "EMAIL", model.Email }, { "DOMAIN", HttpContext.Request.Url.Authority } }; // Send the validation email bool alreadyEmailSent = EmailHelper.SendEmail("Already Registered", "*****@*****.**", model.Email, alreadyemailFields); // send back the same status regardless for security TempData["Status"] = "Your account has been created, before logging in please check your email and click on the list to valdiate your account and complete the registration process."; //TempData["Status"] = "Email is already in use - if you've forgotten your password or lost the account validation email please use the reset password functionality to recover your account."; return(CurrentUmbracoPage()); } // create a GUID for the account validation string newUserGuid = System.Guid.NewGuid().ToString("N"); // create the member using the MemberService var member = memberService.CreateMember(model.Email, model.Email, model.FirstName + " " + model.LastName, "Member"); // set custom member data properties and set to NOT approved - careful with the alias case on your custom // properties! e.g. firstname won't work with this code - the Umbraco backoffice changes in v.7.4.2+ mean you can't set your own // alias - if you've "upgrading" following earlier tutorials note the case difference! // Set custom properties - we should check our custom properties exist first // if (member.HasProperty("firstName")) - we'll let it bomb instead for learning / setup. member.SetValue("firstName", model.FirstName); member.SetValue("lastName", model.LastName); member.SetValue("validateGUID", newUserGuid); // set the expiry to be 24 hours. member.SetValue("validateGUIDExpiry", DateTime.Now.AddDays(1)); member.SetValue("mailingListInclude", model.MailingListInclude); member.IsApproved = false; // remember to save memberService.Save(member); // save their password memberService.SavePassword(member, model.Password); // add to the WebsiteRegistrations group (this is so we can differentiate website members from any others you might have.) memberService.AssignRole(member.Id, "WebsiteRegistrations"); // Set up the info for the validation email Dictionary <string, string> emailFields = new Dictionary <string, string> { { "FIRSTNAME", model.FirstName }, { "LASTNAME", model.LastName }, { "EMAIL", model.Email }, { "VALIDATEGUID", newUserGuid }, { "DOMAIN", HttpContext.Request.Url.Authority } }; // Send the validation email bool emailSent = EmailHelper.SendEmail("Validate Registration Email", "*****@*****.**", model.Email, emailFields); // for testing I'm returning my guid to test the next bit without an email (e.g. copying and pasting into browser) // string host = HttpContext.Request.Url.Authority; // string validateURL = "http://" + host + "/account/validate?email=" + model.Email + "&guid=" + newUserGuid; // ONLY FOR TESTING - it outputs the validate link to the webpage which defeats the object! //TempData["Status"] = "Member created! Test validate url = <a href=\"" + validateURL + "\">" + validateURL + "</a>"; TempData["Success"] = emailSent; TempData["Status"] = "Your account has been created, before logging in please check your email and click on the list to valdiate your account and complete the registration process."; return(RedirectToCurrentUmbracoPage()); } else { // model is invalid TempData["Status"] = "Please ensure you've provided all the required information."; return(CurrentUmbracoPage()); } }
public ApiResult Create([FromBody] MemberRegisterModel member) { Argument.ThrowIfNullOrEmpty(member.PhoneNumber, "手机号码"); Argument.ThrowIfNullOrEmpty(member.Password, "密码"); //Argument.ThrowIfNullOrEmpty(member.NickName, "昵称"); Argument.ThrowIfNullOrEmpty(member.SmsVerifyCode, "短信验证码"); var result = new ApiResult(); User user = _memberService.FindUserByName(member.PhoneNumber); if (user != null) { throw new WebApiInnerException("0001", "此手机号已经注册"); } //if (_memberService.NickNameIsExists(member.NickName)) throw new WebApiInnerException("0003", "昵称已经被占用"); if (!_smsService.VerifyCode(member.PhoneNumber, member.SmsVerifyCode, MemberCenterModule.Instance, SmsRequestType.Register.ToString())) { throw new WebApiInnerException("0002", "短信验证码验证失败"); } string referrerId = null; string parentIds = null; if (!string.IsNullOrWhiteSpace(member.InvitationCode)) { var referrer = _memberService.FindMemberByInvitationCode(member.InvitationCode); if (referrer != null && referrer.MemberType == MemberType.Partner) { referrerId = referrer.Id; if (string.IsNullOrWhiteSpace(referrer.ParentIds)) { parentIds = referrer.Id; } else { var maxLevel = _configService.Get <SystemConfig>().MaxLevel; var ids = referrer.ParentIds.Split(','); if (ids.Count() >= maxLevel) { //只取系统设置的层级数量 parentIds = ""; for (int i = maxLevel - 3; i < ids.Count(); i++) { if (string.IsNullOrWhiteSpace(parentIds)) { parentIds = ids[i]; } else { parentIds += "," + ids[i]; } } parentIds += "," + referrer.Id; } else { parentIds = referrer.ParentIds + "," + referrer.Id; } } } } var code = KeyGenerator.GenerateRandom(6); while (_memberService.FindMemberByInvitationCode(code) != null) { code = KeyGenerator.GenerateRandom(6); } var newMember = new Member { UserName = member.PhoneNumber, PhoneNumber = member.PhoneNumber, LockoutEnabled = false, Sex = SexType.UnKonw, NickName = member.PhoneNumber, Birthday = DateTime.Parse("1949-10-1"), ChannelId = member.ChannelId, ReferrerId = referrerId, ParentIds = parentIds, CreateTime = DateTime.Now, InvitationCode = code }; using (TransactionScope scope = new TransactionScope()) { var identityResult = _memberService.CreateMember(newMember, member.Password); if (!identityResult.Succeeded) { throw new WebApiInnerException("0003", identityResult.Errors.FirstOrDefault()); //result.msg = identityResult.Errors.FirstOrDefault(); } else { //添加推广积分 if (!string.IsNullOrWhiteSpace(newMember.ReferrerId)) { var systemConfig = _configService.Get <SystemConfig>(); string error; _walletService.Deposit(newMember.ReferrerId, Wallet.Models.WalletType.Integral, systemConfig.RecommendIntegral, "推荐新用户奖励", out error); } //绑定微信 if (!string.IsNullOrWhiteSpace(member.OpenId)) { _currencyService.DeleteByConditon <UserOAuth>(uo => uo.OAuthType == OAuthType.WeiXin && uo.OAuthId.Equals(member.OpenId, StringComparison.OrdinalIgnoreCase)); _currencyService.Create(new UserOAuth() { Id = KeyGenerator.GetGuidKey(), MemberId = newMember.Id, OAuthId = member.OpenId, OAuthType = OAuthType.WeiXin }); } #if DEBUG //添加测试余额 string errorMessage; _walletService.Deposit(newMember.Id, Wallet.Models.WalletType.Cash, 100000, "测试现金", out errorMessage); _walletService.Deposit(newMember.Id, Wallet.Models.WalletType.Integral, 100000, "测试积分", out errorMessage); #endif var createdMember = _memberService.FindMemberById(newMember.Id); result.SetData(createdMember.Simplified()); //提交 scope.Complete(); } } return(result); }