示例#1
0
        protected void AllCustomValidator_ServerValidate(object source, ServerValidateEventArgs args)
        {
            var result =
                User.ValidateMemberRegistration(
                    FirstNameTextBox.Text,
                    LastNameTextBox.Text,
                    EmailTextBox.Text,
                    UserName.Text,
                    PasswordTextBox.Text,
                    string.Format("{0}-{1}-{2}",
                                  YearDropDownList.SelectedValue,
                                  MonthDropDownList.SelectedValue,
                                  DayDropDownList.SelectedValue),
                    GenderDropDownList.SelectedValue,
                    TermsCheckBox.Checked,
                    NewsCheckBox.Checked
                    );

            var errors = result.Where(x => !string.IsNullOrEmpty(x.Message)).Select(x => x.Message);
            var valid  = errors.Count() == 0;

            args.IsValid = valid;
            HelperFunctions.FindControl <Label>(this, "ErrorLabel").Text = valid
                                ? "" : string.Join("<br />\r\n", errors);
            HelperFunctions.FindControl <Panel>(this, "ErrorPanel").Style.Add("display", valid ? "none" : "block");
        }
示例#2
0
        private User RegisterMember()
        {
            /* --- Create a new user --------- */
            //Page.Validate("MemberRegistration");
            if (!Page.IsValid)
            {
                return(null);
            }
            // Create ASP.NET User
            var password = PasswordTextBox.Text;

            PasswordTextBox.Text = string.IsNullOrEmpty(password)
                                                                ? NewPassword()
                                                                : password;
            MembershipCreateStatus status;
            MembershipUser         member = SecurityClassesDataContext.Current.CreateUser(UserName.Text, password, EmailTextBox.Text,
                                                                                          "Password Question", "Password Answer", true, out status);

            // If creation failed then exit.
            if (status != MembershipCreateStatus.Success)
            {
                return(null);
            }
            return(User.GetUser((Guid)member.ProviderUserKey));
        }
示例#3
0
        protected void AllCustomValidator_ServerValidate(object source, ServerValidateEventArgs args)
        {
            var result =
                User.ValidateMemberRegistration(
                    FirstNameTextBox.Text,
                    LastNameTextBox.Text,
                    EmailTextBox.Text,
                    UserName.Text,
                    PasswordTextBox.Text,
                    string.Format("{0}-{1}-{2}",
                                  YearDropDownList.SelectedValue,
                                  MonthDropDownList.SelectedValue,
                                  DayDropDownList.SelectedValue),
                    GenderDropDownList.SelectedValue,
                    TermsCheckBox.Checked,
                    NewsCheckBox.Checked,
                    SecurityContext.Current.RequiredFields
                    );

            var errors = result.Where(x => !string.IsNullOrEmpty(x.Message)).Select(x => x.Message);
            var valid  = errors.Count() == 0;

            args.IsValid = valid;
            HelperFunctions.FindControl <Label>(this, "ErrorLabel").Text = valid
                                ? "" : string.Join("<br />\r\n", errors);
            HelperFunctions.FindControl <Panel>(this, "ErrorPanel").Style["display"] = valid ? "none" : "block";
            var values = (UserFieldName[])Enum.GetValues(typeof(UserFieldName));

            foreach (var item in values)
            {
                var id  = string.Format("{0}Status", item);
                var div = HelperFunctions.FindControl <HtmlGenericControl>(this, id);
                if (div != null)
                {
                    if (result.Any(x => x.Name == item))
                    {
                        div.Attributes["class"] = "SWUI_Table_Result0Changed";
                    }
                    else
                    {
                        if (SecurityContext.Current.RequiredFields.HasFlag(item))
                        {
                            div.Attributes["class"] = "SWUI_Table_Result1";
                        }
                        else
                        {
                            div.Attributes["class"] = "";
                        }
                    }
                }
            }
        }
示例#4
0
        protected void SignUpLinkButton_Click(object sender, EventArgs e)
        {
            /* --- Register member --- */
            User user = RegisterMember();

            if (user == null)
            {
                return;
            }
            try
            {
                user.DateBirth = new DateTime(
                    int.Parse(YearDropDownList.SelectedValue),
                    int.Parse(MonthDropDownList.SelectedValue),
                    int.Parse(DayDropDownList.SelectedValue));
                user.FirstName = UserFirstName;
                user.LastName  = UserLastName;
                user.Gender    = (string)GenderDropDownList.SelectedValue;
                SecurityClassesDataContext.Current.SaveChanges();
                // Add role to the user.
                System.Web.Security.Roles.AddUserToRole(user.UserName, "SocialUsers");
                // LogIn user to website.
                FormsAuthentication.SetAuthCookie(user.UserName, false);
                if (CreatedUser != null)
                {
                    CreatedUser(sender, new ProfileCreateEventArgs {
                        User = user
                    });
                }
            }
            catch (Exception)
            {
                //if something goes wrong invalidate registration
                SecurityClassesDataContext.Current.DeleteUser(user.UserName, true);
                System.Web.Security.FormsAuthentication.SignOut();
                Session.Abandon();
                throw;
            }
            // Need to be outside the try catch or the redirect will sire an error
            if (!string.IsNullOrEmpty(RedirectUrl))
            {
                string url = RedirectUrl;
                if (!string.IsNullOrEmpty(ReturnUrl))
                {
                    url += string.Format("?ReturnUrl={0}",
                                         HttpUtility.UrlEncode(ReturnUrl));
                }

                Response.Redirect(url, true);
            }
        }
示例#5
0
        protected void SignUpLinkButton_Click(object sender, EventArgs e)
        {
            /* --- Register member --- */
            User user = RegisterMember();

            if (user == null)
            {
                return;
            }
            try
            {
                var fields = SecurityContext.Current.RequiredFields | SecurityContext.Current.OptionalFields;
                if (fields.HasFlag(UserFieldName.Birthday))
                {
                    user.DateBirth = new DateTime(
                        int.Parse(YearDropDownList.SelectedValue),
                        int.Parse(MonthDropDownList.SelectedValue),
                        int.Parse(DayDropDownList.SelectedValue));
                }

                user.FirstName = FirstNameTextBox.Text;
                user.LastName  = LastNameTextBox.Text;
                user.Gender    = (string)GenderDropDownList.SelectedValue;
                SecurityClassesDataContext.Current.SaveChanges();
                var role = SecurityContext.Current.DefaultRole;
                if (!string.IsNullOrEmpty(role))
                {
                    if (!Roles.RoleExists(role))
                    {
                        Roles.CreateRole(role);
                        JocysCom.WebSites.Engine.Security.Check.UpdateRole(role, "Default Role.");
                    }
                    // Add role to the user.
                    System.Web.Security.Roles.AddUserToRole(user.UserName, role);
                }
                // LogIn user to website.
                FormsAuthentication.SetAuthCookie(user.UserName, false);
                if (CreatedUser != null)
                {
                    CreatedUser(sender, new ProfileCreateEventArgs {
                        User = user
                    });
                }
            }
            catch (Exception ex)
            {
                //if something goes wrong invalidate registration
                SecurityClassesDataContext.Current.DeleteUser(user.UserName, true);
                System.Web.Security.FormsAuthentication.SignOut();
                Session.Abandon();
                HelperFunctions.FindControl <Label>(this, "ErrorLabel").Text             = ex.Message;
                HelperFunctions.FindControl <Panel>(this, "ErrorPanel").Style["display"] = "block";
                return;
            }
            // Need to be outside the try catch or the redirect will sire an error
            if (!string.IsNullOrEmpty(RedirectUrl))
            {
                string url = RedirectUrl;
                if (!string.IsNullOrEmpty(ReturnUrl))
                {
                    url += string.Format("?ReturnUrl={0}",
                                         HttpUtility.UrlEncode(ReturnUrl));
                }

                Response.Redirect(url, true);
            }
        }