public async Task <IActionResult> Register(AccountRegisterDTO accountRegisterDTO) { accountRegisterDTO.Username = accountRegisterDTO.Username.ToLower(); if (await _repo.Exists(accountRegisterDTO.Username)) { return(BadRequest("Username already used")); } // var account = new Account() // { // Username = accountRegisterDTO.Username, // PhoneNumber = accountRegisterDTO.PhoneNumber, // DateOfBirth = accountRegisterDTO.DateOfBirth, // Created = DateTime.Now, // Gender = accountRegisterDTO.Gender, // LevelId = 1, // Exp = 0 // }; var account = _mapper.Map <Account>(accountRegisterDTO); account.LevelId = 1; account.Exp = 0; var createdAccount = await _repo.Register(account, accountRegisterDTO.Password); if (createdAccount == null) { return(null); } var accountReturn = _mapper.Map <AccountForDetailDTO>(account); return(CreatedAtRoute("GetUser", new { controller = "Account", id = account.Id }, accountReturn)); }
public ExecuteResult RegisterBlogUser(AccountRegisterDTO dto) { ExecuteResult result = new ExecuteResult() { IsSuccess = true }; if (this._userService.ExistUserName(dto.LoginName)) { result.IsSuccess = false; result.Message = "该用户名已经被注册"; return(result); } var entity = Mapper.DynamicMap <UserInfoEntity>(dto); entity.PurviewID = _userPurviewService.GetPurviewMap().Single(m => m.Value == "博客作者").Key; entity.LoginPWD = EncryptHelper.Encrypt(dto.LoginPWD); entity.UserStatus = Enum.User.UserStatusEnum.Valid; entity.InsertTime = DateTime.Now; _userService.Add(entity, true); return(result); }
public async Task <IActionResult> RegisterAsync([FromBody] AccountRegisterDTO model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } User user = UserMapper.Map(model); UserValidator validator = new UserValidator(); ValidationResult result = await validator.ValidateAsync(user); string token = ""; if (result.IsValid) { if (!await _context.Users.AnyAsync(x => x.Email == user.Email)) { _context.Users.Add(user); await _context.SaveChangesAsync(); try { token = await _emailTokenService.SendEmailAsync(user.Id, user.Email); } catch (Exception ex) { _logger.LogError("could not send email, {0}", ex); _context.Users.Remove(user); await _context.SaveChangesAsync(); return(StatusCode(500)); } } else { ModelState.AddModelError("UserEmailExists", "A user with the email already exists"); } } else { foreach (ValidationFailure error in result.Errors) { ModelState.AddModelError(error.PropertyName, error.ErrorMessage); } } if (ModelState.ErrorCount != 0) { return(BadRequest(ModelState)); } return(Ok(token)); }
public void TestMap_AccountRegisterDTO() { AccountRegisterDTO dto = new AccountRegisterDTO() { Email = _email, FirstName = _firstName, LastName = _lastName }; User user = UserMapper.Map(dto); Assert.AreEqual(_email, user.Email); Assert.AreEqual(_firstName, user.FirstName); Assert.AreEqual(_lastName, user.LastName); }
public ActionResult AjaxRegister(AccountRegisterDTO dto) { var result = _accountServcie.RegisterBlogUser(dto); return(Json(result, JsonRequestBehavior.AllowGet)); }
public async Task <IHttpActionResult> PostAccount(Account account) { AccountRegisterDTO accountToRegister = new AccountRegisterDTO(account); accountToRegister.ValidateInputAccount(); //Invalid account parameters if (accountToRegister.IsInputValid == false) { return(Ok(accountToRegister)); //return CreatedAtRoute("DefaultApi", new { id = accountToRegister.Id }, accountToRegister); } //Valid account parameters AccountRegisterDTO accountToSearch = await db.Accounts.Select(b => new AccountRegisterDTO() { //Id = b.Id, Username = b.Username, Iban = b.Iban, Email = b.Email, }).FirstOrDefaultAsync(b => (b.Username.Equals(accountToRegister.Username) || b.Email.Equals(accountToRegister.Email) || b.Iban.Equals(accountToRegister.Iban))); //Account already registered if (accountToSearch != null) { //accountToRegister = accountToSearch; //accountToRegister.Id = 0; accountToRegister.Clear(); accountToRegister.IsInputValid = true; accountToRegister.DoesAccountExist = true; accountToRegister.IsRegistrationSuccessful = false; accountToRegister.ErrorMessages.Add("Account already exists !"); accountToRegister.ErrorMessages.Add("Username, Email and IBAN have to be unique."); return(Ok(accountToRegister)); } else { accountToRegister.DoesAccountExist = false; accountToRegister.IsInputValid = true; //account.Id = 0; try { db.Accounts.Add(account); await db.SaveChangesAsync(); accountToRegister.IsRegistrationSuccessful = true; // return CreatedAtRoute("DefaultApi", new { id = accountToRegister.Id }, accountToRegister); return(CreatedAtRoute("DefaultApi", null, accountToRegister)); } catch (Exception) { accountToRegister.IsRegistrationSuccessful = false; } } // return CreatedAtRoute("DefaultApi", new { id = accountToRegister.Id }, accountToRegister); return(Ok(accountToRegister)); // New code: //var dto = new AccountRegisterDTO() //{ // Email = account.Email, // Iban = account.Iban, // Id = account.Id, // Username = account.Username //}; //return CreatedAtRoute("DefaultApi", new { id = account.Id }, dto); }
public static User Map(AccountRegisterDTO dto) => new User { Email = dto.Email, FirstName = dto.FirstName, LastName = dto.LastName };