// GET: Profile public ActionResult Index() { var id = Convert.ToInt32(Session["UserId"]); Id = id; if (id > 0) { var user = new User { ContactNumber = string.Empty, Email = "", Name = "", Surname = "" }; var choices = Enum.GetValues(typeof(Choice)).Cast <Choice>(); var loveLanguages = Enum.GetValues(typeof(LoveLanguage)).Cast <LoveLanguage>(); var horoscopes = Enum.GetValues(typeof(Horoscope)).Cast <Horoscope>(); var horoscopeList = horoscopes.Select( item => new SelectListItem { Selected = false, Text = item.GetEnumDescription(), Value = ((int)item).ToString() }).ToList(); var loveLanguageList = loveLanguages.Select( item => new SelectListItem { Selected = false, Text = item.GetEnumDescription(), Value = ((int)item).ToString() }).ToList(); var choiceItems = choices.Select( item => new SelectListItem { Selected = false, Text = item.GetEnumDescription(), Value = ((int)item).ToString() }).ToList(); var model = new UserProfileModel { LoveLanguageList = loveLanguageList, ChoiceItemList = choiceItems, HoroscopeItemList = horoscopeList }; var currentUser = _userRepository.GetUserById(id); user.Id = currentUser.Id; user.Name = currentUser.Name; user.Surname = currentUser.Surname; user.ContactNumber = currentUser.ContactNumber; user.Email = currentUser.Email; var quiz = _personalQuizRepository.GetQuizByUserId(currentUser.Id); var userProfile = _profileRepository.GetProfileByUserId(currentUser.Id); model.Horoscope = userProfile != null ? userProfile.Horoscope : string.Empty; model.Gender = userProfile?.Gender; if (userProfile != null) { model.SelectedDropdownValueForLove = GetSelectedValueForLove(userProfile.LoveLanguage); model.GetFullName(currentUser); Session["FullName"] = model.FullName; } if (quiz != null) { model.Quiz = new PersonalQuizModel(quiz); model.SelectedDropdownValue = GetSelectedValue(quiz.ChoiceBetweenMoneyLoveHappiness); } model.SetUser(currentUser); return(View(model)); } return(RedirectToAction("Index", "Home")); }