Beispiel #1
0
        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();
        }
Beispiel #2
0
        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());
 }
Beispiel #4
0
 public ICollection <SecurityQuestionModel> GetSecurityQuestions()
 {
     return(_securityQuestionRepository.GetAll()
            .Select(x => x.ToSecurityQuestionModel())
            .ToList());
 }
Beispiel #5
0
        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);
        }