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(); }
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; }