Example #1
0
        public virtual ActionResult UpdateProfile(EditProfileModel model)
        {
            if (!ModelState.IsValid)
                return PartialView(MVC.Shared.Views._ValidationSummery, model);

            if (!string.IsNullOrEmpty(model.OldPassword))
            {
                if (!_userService.Authenticate(User.Identity.Name, model.OldPassword))
                    return PartialView(MVC.Admin.Shared.Views._Alert, new Alert
                    {
                        Message = "کلمه عبور اشتباه است",
                        Mode = AlertMode.Error
                    });
            }

            model.UserName = User.Identity.Name;
            EditedUserStatus updateResult = _userService.UpdateProfile(model);

            switch (updateResult)
            {
                case EditedUserStatus.UpdatingUserSuccessfully:
                    _uow.SaveChanges();
                    return PartialView(MVC.Admin.Shared.Views._Alert, new Alert
                    {
                        Message = "اطلاعات حساب کاربری با موفقیت به روز رسانی شد",
                        Mode = AlertMode.Success
                    });
                case EditedUserStatus.EmailExist:
                    return PartialView(MVC.Admin.Shared.Views._Alert, new Alert
                    {
                        Message = "ایمیل تکراری است",
                        Mode = AlertMode.Error
                    });
            }

            return new EmptyResult();
        }
Example #2
0
 public EditedUserStatus UpdateProfile(EditProfileModel userModel)
 {
     EditedUserStatus result;
     if (ExistsByEmail(userModel.Email) && !GetUserNameByEmail(userModel.Email).Equals(userModel.UserName))
     {
         result = EditedUserStatus.EmailExist;
     }
     else
     {
         User selectedUser = _users.FirstOrDefault(user => user.UserName.Equals(userModel.UserName));
         selectedUser.Email = userModel.Email;
         selectedUser.UserMetaData.FirstName = userModel.FirstName;
         selectedUser.UserMetaData.LastName = userModel.LastName;
         selectedUser.UserMetaData.Major = userModel.Major;
         selectedUser.UserMetaData.BirthDay = userModel.BirthDay;
         selectedUser.UserMetaData.Description = userModel.Description;
         if (!string.IsNullOrEmpty(userModel.NewPassword))
         {
             selectedUser.Password = Encryption.EncryptingPassword(userModel.NewPassword);
             selectedUser.LastPasswordChange = DateAndTime.GetDateTime();
         }
         result = EditedUserStatus.UpdatingUserSuccessfully;
     }
     return result;
 }