public ActionResult Edit(FormControlsViewModel model)
        {
            var user              = _fRepo.GetUser(x => x.ID == model.UserID);
            var userDescription   = _fRepo.GetUserDescription(x => x.UserID == user.ID);
            var userCountry       = _fRepo.GetUserCountry(x => x.UserID == user.ID);
            var selectedCountryId = _fRepo.GetCountry(linqWhereCountry: x => x.Name == model.Country).ID;

            TryUpdateModel(user, "", new string[] { "Name", "Email", "Gender" });
            TryUpdateModel(userDescription, "", new string[] { "Description" });

            if (userCountry.CountryID != selectedCountryId)
            {
                if (userCountry != null)
                {
                    _fRepo.RemoveUserCountry(userCountry); _fRepo.Save();
                }
                _fRepo.AddUserCountry(null, selectedCountryId, user);
            }

            if (!_fRepo.CheckNewCourseList(user, model.Courses))
            {
                _fRepo.RemovUserCourses(user.ID);
                _fRepo.Save();
                if (model.Courses != null)
                {
                    _fRepo.AddUserCourses(model.Courses, user.ID);
                }
            }

            _fRepo.Save();

            return(RedirectToAction("Index", "Home"));
        }