Esempio n. 1
0
        public async Task <IActionResult> RegisterAdministrator([FromBody] AdministratorRegistrationRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new AuthFailedResponse
                {
                    Errors = ModelState.Values.SelectMany(i => i.Errors.Select(j => j.ErrorMessage))
                }));
            }

            var authResponse = await _authService.RegisterAdministratorAsync(request);

            if (!authResponse.Success)
            {
                return(BadRequest
                       (
                           new AuthFailedResponse
                {
                    Errors = authResponse.Errors
                }
                       ));
            }

            return(Ok
                   (
                       new AuthSuccessResponse
            {
                Token = authResponse.Token,
                RefreshToken = authResponse.RefreshToken
            }
                   ));
        }
Esempio n. 2
0
        public async Task <AuthenticationResult> RegisterAdministratorAsync(AdministratorRegistrationRequest request)
        {
            var result = await CheckUniqueAccount(request);

            if (result.Errors != null)
            {
                return(result);
            }

            var account = await CreateAccountAsync(request);

            var person = await CreatePersonAsync(request, account);

            var admin = _mapper.Map <Administrator>(request);

            admin.PersonID = person.ID;
            _context.Administrators.Add(admin);
            _context.SaveChanges();

            return(await GenerateAuthenticationResultForAccountAsync(account));
        }
 public async Task <ApiResponse <RegistrationResponse> > Handle(AdministratorRegistrationRequest request, CancellationToken cancellationToken)
 {
     return(await userRegistrationService.RegisterUserAsync(request));
 }