示例#1
0
        public IEnumerable <State> ListOfStates()
        {
            var states = ServiceHelpers.CreateStateList();

            return(states.ToList());
        }
示例#2
0
        public IEnumerable <Bit> ListOfBoolean()
        {
            var bits = ServiceHelpers.CreateBitList();

            return(bits.ToList());
        }
示例#3
0
        public MembershipCreateStatus CreateUser(MembershipUser newUser)
        {
            newUser = SanitizeUser(newUser);
            var settings = _settingsService.GetSettings(false);

            var status = MembershipCreateStatus.Success;

            var e = new RegisterUserEventArgs {
                User = newUser
            };                                                        //fire event....left off here.  Admin 5/5/2016

            EventManager.Instance.FireBeforeRegisterUser(this, e);

            if (e.Cancel)
            {
                status = e.CreateStatus;
            }
            else
            {
                // Add get by email address
                if (GetUserByEmail(newUser.Email, true) != null)
                {
                    status = MembershipCreateStatus.DuplicateEmail;
                }

                if (string.IsNullOrEmpty(newUser.Password))
                {
                    status = MembershipCreateStatus.InvalidPassword;
                }

                if (status == MembershipCreateStatus.Success)
                {
                    // Hash the password
                    var salt = StringUtils.CreateSalt(AppConstants.SaltSize);
                    var hash = StringUtils.GenerateSaltedHash(newUser.Password, salt);
                    newUser.Password     = hash;
                    newUser.PasswordSalt = salt;

                    newUser.Roles = new List <MembershipRole> {
                        settings.NewMemberStartingRole
                    };
                    // Set dates
                    newUser.CreateDate    = DateTime.UtcNow;
                    newUser.LastLoginDate = DateTime.UtcNow;

                    //we will need this!.....(I think)
                    //-------------------------------
                    //var manuallyAuthoriseMembers = settings.ManuallyAuthoriseNewMembers;
                    //var memberEmailAuthorisationNeeded = settings.NewMemberEmailConfirmation == true;
                    //if (manuallyAuthoriseMembers || memberEmailAuthorisationNeeded)
                    //{
                    //    newUser.IsApproved = false;
                    //}
                    //else
                    //{
                    //    newUser.IsApproved = true;
                    //}

                    // url generator
                    newUser.Slug = ServiceHelpers.GenerateSlug(newUser.Email, GetUserBySlugLike(ServiceHelpers.CreateUrl(newUser.Email)), null);

                    try
                    {
                        Add(newUser);

                        //if (settings.EmailAdminOnNewMemberSignUp)
                        //{
                        //    var sb = new StringBuilder();
                        //    sb.AppendFormat("<p>{0}</p>", string.Format(_localizationService.GetResourceString("Members.NewMemberRegistered"), settings.ForumName, settings.ForumUrl));
                        //    sb.AppendFormat("<p>{0} - {1}</p>", newUser.UserName, newUser.Email);
                        //    var email = new Email
                        //    {
                        //        EmailTo = settings.AdminEmailAddress,
                        //        NameTo = _localizationService.GetResourceString("Members.Admin"),
                        //        Subject = _localizationService.GetResourceString("Members.NewMemberSubject")
                        //    };
                        //    email.Body = _emailService.EmailTemplate(email.NameTo, sb.ToString());
                        //    _emailService.SendMail(email);
                        //}

                        _activityService.MemberJoined(newUser);
                        EventManager.Instance.FireAfterRegisterUser(this,
                                                                    new RegisterUserEventArgs {
                            User = newUser
                        });
                    }
                    catch (Exception)
                    {
                        status = MembershipCreateStatus.UserRejected;
                    }
                }
            }

            return(status);
        }