public void CreateAccount(UserCredentialsModel userCredentialsModel) { var isUsernameUsed = _userRepository.IsUsernameUsed(userCredentialsModel.Username); if (isUsernameUsed) { throw new ExceptionResourceConflict("Username used"); } var securityQuestions = _securityQuestionRepository.GetAll(); var allQuestionAreAnswered = securityQuestions.AsEnumerable().All( questionDal => userCredentialsModel.SecurityAnswers.Any( answerUI => answerUI.SecurtityQuestion.Question == questionDal.Question)); if (!allQuestionAreAnswered) { throw new ExceptionBusinessNotRespected("Questions not answered."); } var role = _roleRepository.GetById((int)RolesEnum.User); if (role == null) { throw new ExceptionResourceNotFound("Role not in databse."); } userCredentialsModel.Password = PasswordManager.HashPassword(userCredentialsModel.Password); var user = userCredentialsModel.ToUser(role, securityQuestions); _userRepository.Add(user); _userRepository.SaveChanges(); }
private void GetRegistrationInfo() { List <SelectListItem> lst = new List <SelectListItem>(); IList <SecurityQuestion> questions = securityQuestionRepository.GetAll(); foreach (SecurityQuestion question in questions) { SelectListItem sl = new SelectListItem(); sl.Text = question.Description; sl.Value = question.Id.ToString(); lst.Add(sl); } ViewData["securityQuestions"] = lst; List <SelectListItem> results = new List <SelectListItem>(); IList <UserSize> userSizes = userSizeRepository.GetAll(); foreach (UserSize userSize in userSizes) { SelectListItem sli = new SelectListItem(); sli.Text = userSize.Description; sli.Value = userSize.Id.ToString(); results.Add(sli); } ViewData["UserSizes"] = results; }
public List <SecurityQuestion> GetAllQuestions() { return((List <SecurityQuestion>)_securityQuestionRepository.GetAll()); }
public ICollection <SecurityQuestionModel> GetSecurityQuestions() { return(_securityQuestionRepository.GetAll() .Select(x => x.ToSecurityQuestionModel()) .ToList()); }
private UserFull GetAccountData(UserFull userModification) { MembershipUser mu = Membership.GetUser(); List <SelectListItem> securityQuestionList = new List <SelectListItem>(); List <SelectListItem> userSizeList = new List <SelectListItem>(); List <SelectListItem> privacyList = new List <SelectListItem>(); if (mu != null) { RegisteredUser ru = registeredUserRepository.GetByMembershipId(Convert.ToInt32(mu.ProviderUserKey)); SecurityQuestion securityQuestion = securityQuestionRepository.GetByDescription(mu.PasswordQuestion); userModification = new UserFull(ru, securityQuestion.Id, userModification.Alert, userModification.Tab); IList <SecurityQuestion> questions = securityQuestionRepository.GetAll(); foreach (SecurityQuestion question in questions) { SelectListItem sl = new SelectListItem(); sl.Text = question.Description; sl.Value = question.Id.ToString(); if (question.Description == securityQuestion.Description) { sl.Selected = true; } securityQuestionList.Add(sl); } IList <UserSize> userSizes = userSizeRepository.GetAll(); foreach (UserSize userSize in userSizes) { SelectListItem sli = new SelectListItem(); sli.Text = userSize.Description; sli.Value = userSize.Id.ToString(); if (userSize.Id == ru.Size.Id) { sli.Selected = true; } userSizeList.Add(sli); } SelectListItem pvy = new SelectListItem(); pvy.Text = "My Closet can be viewed by me only"; pvy.Value = PrivacyLevel.Private.ToString(); if (ru.Closet.PrivacyLevel == PrivacyLevel.Private) { pvy.Selected = true; } privacyList.Add(pvy); pvy = new SelectListItem(); pvy.Text = "My Closet can be viewed by me and my friends"; pvy.Value = PrivacyLevel.Friends.ToString(); if (ru.Closet.PrivacyLevel == PrivacyLevel.Friends) { pvy.Selected = true; } privacyList.Add(pvy); pvy = new SelectListItem(); pvy.Text = "Only my Signature Outfit can be viewed by anyone"; pvy.Value = PrivacyLevel.FavoriteOutfit.ToString(); if (ru.Closet.PrivacyLevel == PrivacyLevel.FavoriteOutfit) { pvy.Selected = true; } privacyList.Add(pvy); pvy = new SelectListItem(); pvy.Text = "My Entire Closet can be viewed by anyone"; pvy.Value = PrivacyLevel.FullCloset.ToString(); if (ru.Closet.PrivacyLevel == PrivacyLevel.FullCloset) { pvy.Selected = true; } privacyList.Add(pvy); } ViewData["SecurityQuestions"] = securityQuestionList; ViewData["UserSizes"] = userSizeList; ViewData["PrivacyStatus"] = privacyList; if (mu != null) { ViewData["UserName"] = mu.UserName; } return(userModification); }