private async Task<bool> AddAccount(RegisterViewModel model) { var entity = new Account(); entity.Id = Guid.NewGuid(); entity.Email = model.Email; entity.Name = model.AccountName; entity.Phone = model.Phone; entity.CreateDateTime = DateTime.Now; entity.Salt = Guid.NewGuid().ToString().Replace("-", ""); entity.Password = UntilHelper.GetMd5HashCode(model.Password + entity.Salt); DataSource.Accounts.Add(entity); await DataSource.SaveChangesAsync(); return true; }
public async Task<ActionResult> Register(RegisterViewModel model) { try { string message = string.Empty; if (!ModelState.IsValid || CheckRegister(model, out message)) { model.Message = message; return View(model); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 var result = await AddAccount(model); if (result) return View("Login"); model.Message = "注册失败"; return View(model); } catch (Exception ex) { LogHelper.Instance.WriteError(ex, GetType(), MethodBase.GetCurrentMethod().Name); throw; } }
private bool CheckRegister(RegisterViewModel model, out string message) { message = string.Empty; var isEmail = DataSource.Accounts.Any(t => t.Email == model.Email); if (isEmail) message = "此邮箱己被注册"; var isName = DataSource.Accounts.Any(t => t.Name == model.AccountName); if (isName) message = "此帐户名己被注册"; var isPhone = DataSource.Accounts.Any(t => t.Phone == model.Phone); if (isPhone) message = "此手机号己被注册"; return isEmail && isName && isPhone; }
public ActionResult Register() { var model = new RegisterViewModel { Message = string.Empty }; return View(model); }