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