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

            var authResponse = await _authService.RegisterOrganizerAsync(request);

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

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

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

            var account = await CreateAccountAsync(request);

            var organizer = _mapper.Map <Organizer>(request);

            organizer.AccountID = account.ID;
            _context.Organizers.Add(organizer);
            _context.SaveChanges();

            return(await GenerateAuthenticationResultForAccountAsync(account));
        }