public AuthModel Login([FromBody] AccountLoginModel model) { EmailWithMailgun.SendMessage("Correo", model.Email, "Hola"); var user = _readOnlyRepository.FirstOrDefault <Account>(x => x.Email == model.Email); if (user == null) { throw new HttpException((int)HttpStatusCode.NotFound, "User doesn't exist."); } if (!user.CheckPassword(model.Password)) { throw new HttpException((int)HttpStatusCode.Unauthorized, "Password doesn't match."); } var authModel = new AuthModel { Email = user.Email, AccessToken = AuthRequestFactory.BuildEncryptedRequest(user.Email), role = new RoleModel { bitMask = 2, title = "admin" } }; return(authModel); }
public CreatedAccountModel Register([FromBody] AccountRegisterModel model) { EmailWithMailgun.SendMessage("Correo", model.Email, "Hola"); var newUser = _mappingEngine.Map <AccountRegisterModel, Account>(model); var createdUser = _writeOnlyRepository.Create(newUser); var craetedUserModel = _mappingEngine.Map <Account, CreatedAccountModel>(createdUser); return(craetedUserModel); }