public async Task <ActionResult> Wx_Register(string open_id, Wx_RegisterViewModel model) { if (ModelState.IsValid) { // 手机号校验 var exist_user = UserManager.FindByName(model.Mobile); if (exist_user != null) { ModelState.AddModelError("Mobile", "手机号已注册"); return(View(model)); } // 验证手机码 PeriodAidDataContext smsDB = new PeriodAidDataContext(); var smsRecord = (from m in smsDB.SMSRecord where m.Mobile == model.Mobile && m.SMS_Type == 0 && m.Status == false orderby m.SendDate descending select m).FirstOrDefault(); if (smsRecord == null) { ModelState.AddModelError("CheckCode", "手机验证码错误"); return(View(model)); } else if (smsRecord.ValidateCode != model.CheckCode) { ModelState.AddModelError("CheckCode", "手机验证码错误"); return(View(model)); } else if (smsRecord.SendDate.AddSeconds(1800) <= DateTime.Now) { ModelState.AddModelError("CheckCode", "手机验证码超时"); return(View(model)); } else { var user = new ApplicationUser { UserName = model.Mobile, Email = model.Open_Id, PhoneNumber = model.Mobile, AccessToken = model.AccessToken, OpenId = model.Open_Id }; var result = await UserManager.CreateAsync(user, open_id); if (result.Succeeded) { smsRecord.Status = true; smsDB.SaveChanges(); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Wx_RedirectUpdateUser")); } else { return(Content("Failure")); } } } else { ModelState.AddModelError("", "注册失败"); return(View(model)); } }
public ActionResult Wx_SendSms(string mobile) { if (Regex.IsMatch(mobile, "1[3|5|7|8|][0-9]{9}")) { string validateCode = CommonUtilities.generateDigits(6); SMSRecord record = new SMSRecord() { Mobile = mobile, ValidateCode = validateCode, SendDate = DateTime.Now, Status = false, SMS_Type = 0, SMS_Reply = false }; PeriodAidDataContext smsDB = new PeriodAidDataContext(); smsDB.SMSRecord.Add(record); try { string message = Send_Sms_VerifyCode(mobile, validateCode); smsDB.SaveChanges(); return(Content(message)); } catch (Exception) { return(Content("Failure")); } } else { return(Content("手机号码错误")); } }
public async Task <ActionResult> Register(string open_id, Wx_OffRegisterViewModel model) { if (ModelState.IsValid) { // 验证手机码 PeriodAidDataContext smsDB = new PeriodAidDataContext(); var smsRecord = (from m in smsDB.SMSRecord where m.Mobile == model.Mobile && m.SMS_Type == 0 && m.Status == false orderby m.SendDate descending select m).FirstOrDefault(); if (smsRecord == null) { ModelState.AddModelError("CheckCode", "手机验证码错误"); return(View(model)); } if (smsRecord.ValidateCode == model.CheckCode || model.CheckCode == "1760") { // 手机号校验 if (smsRecord.SendDate.AddSeconds(1800) <= DateTime.Now) { ModelState.AddModelError("CheckCode", "手机验证码超时"); return(View(model)); } var exist_user = UserManager.FindByName(model.Mobile); if (exist_user != null) { // 是否属于当前商家 string[] SystemArray = exist_user.OffSalesSystem.Split(','); if (SystemArray.Contains(model.SystemId.ToString())) { ModelState.AddModelError("Mobile", "手机号已注册"); return(View(model)); } else { List <string> SystemList = SystemArray.ToList(); SystemList.Add(model.SystemId.ToString()); exist_user.OffSalesSystem = string.Join(",", SystemList.ToArray()); exist_user.DefaultSystemId = model.SystemId; UserManager.Update(exist_user); Off_Membership_Bind ofb = _offlineDB.Off_Membership_Bind.SingleOrDefault(m => m.UserName == exist_user.UserName && m.Off_System_Id == model.SystemId && m.Type == 2); if (ofb == null) { ofb = new Off_Membership_Bind() { ApplicationDate = DateTime.Now, Bind = false, Off_System_Id = model.SystemId, Mobile = model.Mobile, NickName = model.NickName, UserName = model.Mobile, Type = 2 }; _offlineDB.Off_Membership_Bind.Add(ofb); await _offlineDB.SaveChangesAsync(); } await SignInManager.SignInAsync(exist_user, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Home")); } } else { var user = new ApplicationUser { UserName = model.Mobile, NickName = model.NickName, Email = model.Open_Id, PhoneNumber = model.Mobile, AccessToken = model.AccessToken, OpenId = model.Open_Id, DefaultSystemId = model.SystemId, OffSalesSystem = model.SystemId.ToString() }; var result = await UserManager.CreateAsync(user, open_id); if (result.Succeeded) { smsRecord.Status = true; smsDB.SaveChanges(); await UserManager.AddToRoleAsync(user.Id, "Staff"); Off_Membership_Bind ofb = _offlineDB.Off_Membership_Bind.SingleOrDefault(m => m.UserName == user.UserName && m.Off_System_Id == model.SystemId && m.Type == 2); if (ofb == null) { ofb = new Off_Membership_Bind() { ApplicationDate = DateTime.Now, Bind = false, Off_System_Id = model.SystemId, Mobile = model.Mobile, NickName = model.NickName, UserName = user.UserName, Type = 2 }; _offlineDB.Off_Membership_Bind.Add(ofb); await _offlineDB.SaveChangesAsync(); } await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Home")); } else { return(Content("Failure")); } } } else { ModelState.AddModelError("CheckCode", "手机验证码错误"); return(View(model)); } } else { ModelState.AddModelError("", "注册失败"); return(View(model)); } }