コード例 #1
0
        public async Task <WriteUserResponseDTO> EditProfile(int userId, EditProfileDTO data)
        {
            IUserDataValidator validator = new UserDataValidator();
            var userData = new UserDataDTO
            {
                Email   = data.Email,
                Name    = data.Name,
                Surname = data.Surname
            };

            var editResponce = new WriteUserResponseDTO
            {
                IsSuccessful  = true,
                PropertyInfos = new List <WriteUserResponseDTO.PropertyInfo>()
            };
            var user = _unitOfWork.Users.Find(u => u.Email.Equals(data.Email) && u.UserId != userId).FirstOrDefault();

            validator.EditProfileValidation(user, userData, editResponce);
            if (editResponce.IsSuccessful)
            {
                EditUserData(userId, userData);
                await AddUserInfo(userId, data);
            }
            return(editResponce);
        }
コード例 #2
0
        public WriteUserResponseDTO SignUp(UserDataDTO userProfile)
        {
            var signUpResponse = new WriteUserResponseDTO
            {
                IsSuccessful  = true,
                PropertyInfos = new List <WriteUserResponseDTO.PropertyInfo>()
            };

            User user = null;

            try
            {
                user = _unitOfWork.Users.Find(u => u.Email.Equals(userProfile.Email)).First();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            _validator.ValidateUserData(user, userProfile, signUpResponse);


            if (signUpResponse.IsSuccessful)
            {
                SaveUser(userProfile);
            }

            Console.WriteLine(signUpResponse.IsSuccessful);

            return(signUpResponse);
        }
コード例 #3
0
 public void EditProfileValidation(User sameUser, UserDataDTO userProfile, WriteUserResponseDTO signUpResponse)
 {
     if (isEmailUnique(sameUser, signUpResponse))
     {
         _userProfile    = userProfile;
         _signUpResponse = signUpResponse;
         ValidateEmail();
         ValidateName();
         ValidateSurName();
     }
 }
コード例 #4
0
 private bool isEmailUnique(User sameUser, WriteUserResponseDTO signUpResponse)
 {
     if (sameUser == null)
     {
         return(true);
     }
     signUpResponse.IsSuccessful = false;
     signUpResponse.PropertyInfos.Add(new WriteUserResponseDTO.PropertyInfo()
     {
         PropertyName = "Email",
         Message      = "This email already exist"
     });
     return(false);
 }