Example #1
0
        public IActionResult SetNewData([FromBody] ChangeUserData changeData)
        {
            if (userGet.HaveUser(HttpContext))
            {
                User user = userGet.GetUser(HttpContext);

                if (!userRepository.UserNameAlreadyUsed(changeData.UserName) && changeData.UserName != user.UserName && changeData.UserName != null)
                {
                    user.UserName = changeData.UserName;
                }
                else if (userRepository.UserNameAlreadyUsed(changeData.UserName) || changeData.UserName == user.UserName)
                {
                    return(BadRequest("Used Username!"));
                }
                if (changeData.ColorOne != null)
                {
                    user.ColorOne = (ThemeColor)changeData.ColorOne;
                }
                if (changeData.ColorTwo != null)
                {
                    user.ColorTwo = (ThemeColor)changeData.ColorTwo;
                }
                if (changeData.Password != null)
                {
                    user.Password = Hashing.HashPassword(changeData.Password);
                }
                if (changeData.ProfilePictureId != 0)
                {
                    Picture profilePicture = pictureRepository.GetPicture(changeData.ProfilePictureId);
                    if (profilePicture == null)
                    {
                        return(BadRequest("Not your picture!"));
                    }
                    if (profilePicture.Owner != user)
                    {
                        return(BadRequest("Not your picture!"));
                    }
                    else
                    {
                        user.ProfilePictureID = profilePicture.Id;
                    }
                }
                userRepository.EditUserData(user);

                return(Ok());
            }
            return(Unauthorized());
        }
 public ChangeNotificationOwnerViewModel(ChangeUserData data)
 {
     CurrentUser = data;
 }
 public ChangeNotificationOwnerViewModel(ChangeUserData data)
 {
     CurrentUser = data;
 }