Exemple #1
0
        public MockUserDal MockGetDetail(UserForDetailDto result)
        {
            Setup(x => x.GetDetail(It.IsAny <User>()))
            .Returns(result);

            return(this);
        }
        public static UserForDetailDto MapUserToUserForDetailDto(Person person)
        {
            var usersToReturn = new UserForDetailDto();

            usersToReturn.Id           = person.Id;
            usersToReturn.Username     = person.Username;
            usersToReturn.Gender       = person.Gender;
            usersToReturn.Age          = CalculateAge(person.DateOfBirth);
            usersToReturn.KnownAs      = person.KnownAs;
            usersToReturn.Created      = person.Created;
            usersToReturn.LastActive   = person.LastActive;
            usersToReturn.Introduction = person.Introduction;
            usersToReturn.LookingFor   = person.LookingFor;
            usersToReturn.Interests    = person.Interests;
            usersToReturn.City         = person.City;
            usersToReturn.Country      = person.Country;
            usersToReturn.PhotoUrl     = person.Photos != null?person.Photos.FirstOrDefault(x => x.IsMain).Url : default;

            if (person.Photos != null)
            {
                usersToReturn.Photos = MapPhotos(person.Photos);
            }

            return(usersToReturn);
        }
Exemple #3
0
        public async Task <IActionResult> UpdateUser(int id, [FromBody] UserForDetailDto userForUpdate)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            var userFromRepo = await _repo.GetUser(id);

            if (userFromRepo == null)
            {
                return(NotFound($"Could not find user with an ID of {id}"));
            }

            if (currentUserId != userFromRepo.Id)
            {
                return(Unauthorized());
            }

            _mapper.Map(userForUpdate, userFromRepo);

            if (await _repo.SaveAll())
            {
                return(NoContent());
            }

            throw new Exception($"Updating user {id} failed on save");
        }
        public async Task <IActionResult> UpdateUser(int id, [FromBody] UserForDetailDto userForDetailedDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            var user = await _userService.GetByIdAsync(id);

            if (user == null)
            {
                return(NotFound($"Could not find user with an ID of {id}"));
            }

            if (currentUserId != user.Id)
            {
                return(Unauthorized());
            }

            //_mapper.Map(userForDetailedDto, user);

            _userService.Update(userForDetailedDto);

            return(NoContent());
        }
Exemple #5
0
 public static void SetValues(UserForDetailDto userForDetailDto)
 {
     UserId         = userForDetailDto.User.Id;
     FullName       = userForDetailDto.FullName;
     Username       = userForDetailDto.User.Username;
     Email          = userForDetailDto.User.Email;
     DepartmentId   = userForDetailDto.User.DepartmentId;
     DepartmentName = userForDetailDto.DepartmentName;
 }
Exemple #6
0
        public void Update(UserForDetailDto userForDetail)
        {
            User user = _userRepository.GetById(userForDetail.Id);

            user.FirstName     = userForDetail.FirstName;
            user.LastName      = userForDetail.LastName;
            user.UserName      = userForDetail.UserName;
            user.IdGMapAddress = userForDetail.IdGMapAddress;
            user.DateOfBirth   = userForDetail.DateOfBirth;
            //_mapper.Map<User>(userForDetail);
            Update(user);
            //_userRepository.Update(user);
        }
Exemple #7
0
        public async Task <IActionResult> Register(UserForRegisterDto userForRegisterDto)
        {
            userForRegisterDto.Username = userForRegisterDto.Username.ToLower();

            if (await _authRepository.UserExists(userForRegisterDto.Username))
            {
                return(BadRequest("Username already exists"));
            }

            User user = _mapper.Map <User>(userForRegisterDto);

            var createdUser = await _authRepository.Register(user, userForRegisterDto.Password);

            UserForDetailDto userToReturn = _mapper.Map <UserForDetailDto>(createdUser);

            return(CreatedAtRoute("GetUser", new { controller = "Users", id = createdUser.Id }, userToReturn));
        }
Exemple #8
0
        public async Task <IActionResult> GetUser(string key, string field)
        {
            //var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            User user;

            if (field.Equals("name"))
            {
                user = await _repo.GetFirstAsync(woak => woak.Username.Equals(key));
            }
            else
            {
                user = await _repo.GetFirstAsync(woak => woak.Id == Convert.ToInt32(key));
            }
            UserForDetailDto userDto = _mapper.Map <UserForDetailDto>(user);

            return(Ok(new { userDto = userDto }));
        }
        public async Task <IActionResult> Login([FromBody] UserLoginDto model)
        {
            var userFromRepo = await this._authService.Login(model.UserName, model.Password);

            if (userFromRepo == null)
            {
                return(Unauthorized());
            }

            var claims = new[] {
                new Claim(ClaimTypes.NameIdentifier, userFromRepo.Id.ToString()),
                new Claim(ClaimTypes.Name, userFromRepo.Name),
            };

            var key = new SymmetricSecurityKey(Encoding.UTF8
                                               .GetBytes(_configuration.GetSection("AppSettings:SecretKey").Value));

            SigningCredentials      creds           = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);
            SecurityTokenDescriptor tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = creds,
            };

            JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler();
            SecurityToken           token        = tokenHandler.CreateToken(tokenDescriptor);
            UserForDetailDto        userToReturn = _mapper.Map <UserForDetailDto>(userFromRepo);
            string tokenReturn   = tokenHandler.WriteToken(token);
            string userSerialize = JsonConvert.SerializeObject(userToReturn);

            var jsonSerializerSettings = new JsonSerializerSettings
            {
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            };

            return(Ok(JsonConvert.SerializeObject(new {
                token = tokenReturn,
                user = userToReturn
            }, jsonSerializerSettings)));
        }
Exemple #10
0
        public async Task <IActionResult> UpdateUser(UserForDetailDto userForUpdateDto)
        {
            User updatedUser = await _repo.GetByIDAsync(userForUpdateDto.Id);

            _mapper.Map(userForUpdateDto, updatedUser);

            byte[] passwordHash, passwordSalt;
            CreatePasswordHash(userForUpdateDto.Password, out passwordHash, out passwordSalt);


            updatedUser.PasswordHash = passwordHash;
            updatedUser.PasswordSalt = passwordSalt;

            var user = await _repo.UpdateAsync(updatedUser);

            if (user == -1)
            {
                throw new Exception($"Updating user {userForUpdateDto.Id} failed on save");
            }
            else
            {
                return(Ok(userForUpdateDto.Id));
            }
        }
Exemple #11
0
 public Task <bool> Update(UserForDetailDto model)
 {
     throw new System.NotImplementedException();
 }