Ejemplo n.º 1
0
        public IActionResult UpdateUsername([FromBody] UsernameDto usernameDto)
        {
            var    identity = HttpContext.User.Identity as ClaimsIdentity;
            string email    = identity.FindFirst(ClaimTypes.Email).Value;

            User user = _userService.GetByEmail(email);

            if (user == null)
            {
                return(BadRequest(new ErrorResultDto
                {
                    Name = ErrorNames.DefaultError,
                    Type = ErrorTypes.Danger,
                    Value = SecurityMessages.SystemError
                }));
            }

            if (!Regex.IsMatch(usernameDto.UserName, "^[a-zA-Z0-9]*$"))
            {
                return(BadRequest(new ErrorResultDto
                {
                    Name = ErrorNames.DefaultError,
                    Type = ErrorTypes.Danger,
                    Value = SecurityMessages.SystemError
                }));
            }

            IResult usernameExistResult = _userService.UsernameExists(usernameDto.UserName);

            if (!usernameExistResult.Success)
            {
                return(BadRequest(new ErrorResultDto
                {
                    Name = ErrorNames.UsernameExistError,
                    Type = ErrorTypes.Warning,
                    Value = usernameExistResult.Message
                }));
            }

            user.UserName           = usernameDto.UserName;
            user.NormalizedUserName = usernameDto.UserName.ToUpper(new CultureInfo("en-Us"));

            IResult updateResult = _userService.Update(user);

            if (!updateResult.Success)
            {
                return(BadRequest(new ErrorResultDto
                {
                    Name = ErrorNames.DefaultError,
                    Type = ErrorTypes.Danger,
                    Value = SecurityMessages.SystemError
                }));
            }

            return(Ok(updateResult.Message));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> ValidateUsername([FromBody] UsernameDto usernameDto)
        {
            ResponseDto <ValidationDto> okResponse = new ResponseDto <ValidationDto>(true);

            var response = await _utilities.ValidateUsernameAsync(usernameDto.Username);

            okResponse.Data = response;

            return(Ok(okResponse));
        }
        public async Task <GeoCoordinatesDto> GetUsersLocation(UsernameDto usernameDto)
        {
            GeoCoordinatesEntity entity = _dbContext.GeoCoordinates.Single(x => x.Username == usernameDto.Username);

            return(new GeoCoordinatesDto()
            {
                latitude = entity.latitude,
                longitude = entity.longitude
            });
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> GetUserWithRoles(UsernameDto userDto)
        {
            var user = await _userManager.FindByNameAsync(userDto.UserName);

            if (user == null)
            {
                return(BadRequest($"No user with UserName {userDto.UserName} found."));
            }

            var userRoles = await _userManager.GetRolesAsync(user);

            return(Ok(new UserWithRolesDto
            {
                User = _mapper.Map <UsernameDto>(user),
                Roles = userRoles.Select(r => new RoleDto {
                    Name = r
                })
            }));
        }
        public async Task ValidateUsername_CallWithMockedIUtilities_ReturnOkObjectResult()
        {
            // Arrange
            var utilitiesMock = new Mock <IUtilities>();
            var notifierMock  = new Mock <INotifier>();
            var username      = "******";
            var usernameDto   = new UsernameDto()
            {
                Username = username
            };
            var validationDto = new ValidationDto(true, "username valid");

            utilitiesMock.Setup(u => u.ValidateUsernameAsync(username)).ReturnsAsync(validationDto);
            var controller = new UtilitiesController(utilitiesMock.Object, notifierMock.Object);

            // Act
            var result = await controller.ValidateUsername(usernameDto);

            var response = (OkObjectResult)result;

            // Assert
            Assert.IsType <OkObjectResult>(result);
            Assert.IsType <ResponseDto <ValidationDto> >(response.Value);
        }