Пример #1
0
        /// <summary>
        /// Executes the command
        /// </summary>
        /// <param name="model">user model to be registered</param>
        /// <returns></returns>
        public async Task <CommandResult> RegisterAsync(RegisterAdministrationUserRequestModel model)
        {
            using (var connection = await this.sqlConnectionFactory.CreateConnectionAsync(true))
                using (var transaction = connection.BeginTransaction())
                {
                    try
                    {
                        var passwordHash = this.passwordHasher.HashPassword(null, model.Password);

                        var dbResult = await this.database.InsertAdministrationUserAsync(email : model.Email, passwordHash : passwordHash, roles : model.Roles, transaction : transaction);

                        var refreshToken = Auth.Services.Auth.GenerateRefereshToken();
                        await this.database.ReplaceRefreshTokenAsync(model.Email, refreshToken, transaction);

                        transaction.Commit();

                        return(CommandResult.FromDbResult(dbResult));
                    }
                    catch
                    {
                        transaction.Rollback();

                        throw;
                    }
                }
        }
Пример #2
0
        public async Task <IActionResult> RegisterAsync([FromBody] RegisterAdministrationUserRequestModel model)
        {
            var command = this.commandFactory.CreateRegisterAdministrationUserCommand();
            var result  = await command.RegisterAsync(model);

            if (result.Success)
            {
                return(this.Ok());
            }
            else
            {
                return(this.BadRequest(result));
            }
        }
Пример #3
0
 public static Task <HttpResponseMessage> GenerateAuthTokenAsync(RegisterAdministrationUserRequestModel requestModel)
 {
     return(GenerateAuthTokenAsync(requestModel.Email, requestModel.Password));
 }
Пример #4
0
 public static async Task RegisterUserAsync(RegisterAdministrationUserRequestModel requestModel)
 {
     using (await RfidHttpClient.PostAsync("/administration/api/users/register", requestModel))
     {
     }
 }