Ejemplo n.º 1
0
        public async Task <RegisterResponse> RegisterAsync(RegisterModel registerModel)
        {
            try
            {
                var userExists = await _userManager.FindByNameAsync(registerModel.Username);

                if (userExists != null)
                {
                    return(new RegisterResponse(BaseApiResponse <UserDto> .CreateErrorResponse($"User already exists!")));
                }

                var user   = new User(registerModel);
                var result = await _userManager.CreateAsync(user, registerModel.Password);

                if (!result.Succeeded)
                {
                    return(new RegisterResponse(BaseApiResponse <UserDto> .CreateErrorResponse($"User creation failed: {result.Errors.GetErrorsAsString()}")));
                }

                var userDto = _mapper.Map <UserDto>(user);
                return(new RegisterResponse(
                           BaseApiResponse <UserDto> .CreateSuccessResponse("User created successfully!", userDto)));
            }
            catch (Exception ex)
            {
                return(new RegisterResponse(BaseApiResponse <UserDto> .CreateErrorResponse(
                                                $"An error occured during user registration: {ex.Message}")));
            }
        }
Ejemplo n.º 2
0
        public void CreateErrorResponse_ReturnsResponse_WithFalseResultAndErrorStatus()
        {
            // Arrange
            var testMessage = "Test message";

            // Act
            var result = BaseApiResponse <IDto> .CreateErrorResponse(testMessage);

            // Assert
            result.Should().NotBeNull();
            result.Result.Should().BeFalse();
            result.Status.Should().Be(ResponseStatus.Error);
            result.Message.Should().Be(testMessage);
        }
Ejemplo n.º 3
0
        public async override Task <WeddingHallSummaryResponse> GetAsync(int id)
        {
            try
            {
                var weddingHall = await Repository.GetAsync(id);

                if (weddingHall == null)
                {
                    return(new WeddingHallSummaryResponse(
                               BaseApiResponse <WeddingHallDto> .CreateErrorResponse($"Specified wedding hall was not found. Id: {id}")));
                }

                return(await CreateWeddingHallSummaryResponseAsync(weddingHall, "Wedding hall summary successfully retrieved."));
            }
            catch (Exception ex)
            {
                return(CreateErrorResponse($"An error occured during wedding hall summary creation: {ex.Message}"));
            }
        }
Ejemplo n.º 4
0
        // TODO: refactor
        public async Task <GuestListResponse> GetGuestsAsync()
        {
            try
            {
                var guests = await Repository.GetAllAsync();

                if (guests == null)
                {
                    return(new GuestListResponse(BaseApiResponse <GuestListDto> .CreateErrorResponse("Cannot retrieve guests list.")));
                }

                return(CreateGuestListSuccessResponse(guests));
            }
            catch (Exception ex)
            {
                return(new GuestListResponse(BaseApiResponse <GuestListDto> .CreateErrorResponse(
                                                 $"An error occured during guest list retrieve: {ex.Message}")));
            }
        }
Ejemplo n.º 5
0
        public async Task <GuestListResponse> GetGuestsByAgeAsync(int age)
        {
            try
            {
                var guests = await Repository.GetGuestsByAgeAsync(age);

                if (guests == null)
                {
                    return(new GuestListResponse(BaseApiResponse <GuestListDto> .CreateErrorResponse($"Cannot retrieve guests list for given age {age}.")));
                }

                var response = CreateGuestListSuccessResponse(guests);
                response.AgeParam = age;
                return(response);
            }
            catch (Exception ex)
            {
                return(new GuestListResponse(BaseApiResponse <GuestListDto> .CreateErrorResponse(
                                                 $"An error occured during guest list retrieve: {ex.Message}")));
            }
        }
Ejemplo n.º 6
0
        public async Task <LoginResponse> AuthenticateAsync(LoginModel loginModel)
        {
            if (loginModel == null)
            {
                return(new LoginResponse(
                           BaseApiResponse <UserDto> .CreateErrorResponse("LoginModel cannot be null.")));
            }

            try
            {
                var user = await _userManager.FindByNameAsync(loginModel.Username);

                if (user != null && await _userManager.CheckPasswordAsync(user, loginModel.Password))
                {
                    // TODO: roles
                    // var userRoles = await _userManager.GetRolesAsync(user);

                    var token    = _jwtService.GenerateJwtToken(user);
                    var userDto  = _mapper.Map <UserDto>(user);
                    var response = new LoginResponse(
                        BaseApiResponse <UserDto> .CreateSuccessResponse("User authenticated successfully!", userDto))
                    {
                        Token      = new JwtSecurityTokenHandler().WriteToken(token),
                        Expiration = token.ValidTo
                    };

                    return(response);
                }

                return(new LoginResponse(BaseApiResponse <UserDto> .CreateErrorResponse("User not authenticated.")));
            }
            catch (Exception ex)
            {
                return(new LoginResponse(BaseApiResponse <UserDto> .CreateErrorResponse(
                                             $"An error occured during user authentication: {ex.Message}")));
            }
        }
Ejemplo n.º 7
0
 protected override WeddingHallSummaryResponse CreateErrorResponse(string message)
 => new WeddingHallSummaryResponse(BaseApiResponse <WeddingHallDto> .CreateErrorResponse(message));
Ejemplo n.º 8
0
 protected override GuestResponse CreateErrorResponse(string message)
 => new GuestResponse(BaseApiResponse <GuestDto> .CreateErrorResponse(message));
Ejemplo n.º 9
0
 protected override OutfitResponse <OutfitDto> CreateErrorResponse(string message)
 {
     return(new OutfitResponse <OutfitDto>(
                BaseApiResponse <OutfitDto> .CreateErrorResponse(message)));
 }