public ActionResult Index() { User user = _investContext.CurrentUser; ViewBag.usersInfo = _usersInfoRepository.GetByUserId(user.Id); ViewBag.messages = _messageRepository.GetByUserId(user.Id); ViewBag.partycipations = _usersInfoRepository.GetPartycipation(user.ID); ViewBag.projects = _projectRepository.GetAll().Where(e => e.AuthorID == user.Id).ToList(); UserSettings userSettings = new UserSettings(); userSettings.Avatar = user.Avatar; userSettings.Email = user.Email; userSettings.FullName = user.FullName; userSettings.Id = user.Id; userSettings.PostNotice = user.PostNotice; userSettings.RoleId = user.RoleId; ViewBag.userSettings = userSettings; return View(user); }
public object Edit(UserSettings model) { User user = _investContext.CurrentUser; if (model.NewPassword != null) { if (!model.OldPassword.Equals(user.Password)) { return new { isSuccess = false, errorMessage = "Действующий пароль введен неверно", successMessage = "" }; } if (!model.NewPassword.Equals(model.ConfirmPassword)) { return new { isSuccess = false, errorMessage = "Подтвердите новый пароль", successMessage = "" }; } user.Password = model.NewPassword.ToString(); } if (model.Email == null) { model.Email = user.Email; } else { if (!model.Email.Equals(user.Email)) { var anyUser = _userRepository.GetAll().Any(p => p.Email.Equals(model.Email)); if (anyUser) { return new { isSuccess = false, errorMessage = "Пользователь с таким email уже зарегистрирован", successMessage = "" }; } Regex rgx = new Regex("^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$"); if (!rgx.IsMatch(model.Email)) { return new { isSuccess = false, errorMessage = "Введен некорректный email", successMessage = "" }; } user.Email = model.Email; } } if (model.FullName == null) { model.FullName = user.FullName; } else { if (!model.FullName.Equals(user.FullName)) { var anyUser = _userRepository.GetAll().Any(p => p.FullName.Equals(model.FullName)); if (anyUser) { return new { isSuccess = false, errorMessage = "Пользователь с таким именем уже зарегистрирован", successMessage = "" }; } } user.FullName = model.FullName; } if (model.Avatar == null) { model.Avatar = user.Avatar; } _userRepository.Update(user); _userRepository.SaveChanges(); return new { isSuccess = true, errorMessage = "", successMessage = "Данные успешно сохранены" }; }
public ActionResult Index(HttpPostedFileBase file) { User user = _investContext.CurrentUser; ViewBag.usersInfo = _usersInfoRepository.GetByUserId(user.Id); ViewBag.messages = _messageRepository.GetByUserId(user.Id); ViewBag.partycipations = _usersInfoRepository.GetPartycipation(user.ID); ViewBag.projects = _projectRepository.GetAll().Where(e => e.AuthorID == user.Id).ToList(); UserSettings userSettings = new UserSettings(); userSettings.Avatar = user.Avatar; userSettings.Email = user.Email; userSettings.FullName = user.FullName; userSettings.Id = user.Id; userSettings.PostNotice = user.PostNotice; userSettings.RoleId = user.RoleId; ViewBag.userSettings = userSettings; try { if ((file != null && file.ContentLength > 0)) { string relativePathOfDir = Path.Combine( ConfigurationManager.AppSettings["FileUploadDirectory"].ToString(), "user" + user.ID.ToString()); string FullPathOfDir = Server.MapPath(relativePathOfDir); if (!Directory.Exists(FullPathOfDir)) { Directory.CreateDirectory(FullPathOfDir); } string savedFilePath = Path.Combine(FullPathOfDir, file.FileName); string relativeFilePath = Path.Combine(relativePathOfDir, file.FileName); if (System.IO.File.Exists(savedFilePath)) { System.IO.File.Delete(savedFilePath); } file.SaveAs(savedFilePath); user.Avatar = relativeFilePath; userSettings.Avatar = user.Avatar; _userRepository.Update(user); _userRepository.SaveChanges(); } else { return View(user); } } catch { return View(user); } return View(user); }