Exemple #1
0
        private void AddUserSettings(int userId)
        {
            UserSettingData userSettings = new UserSettingData();

            UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
            newUserSettings.UserId = userId;

            userSettings.UserSettings.Rows.Add(newUserSettings);
            new User().AddUserSettings(userSettings);
        }
Exemple #2
0
        private void AddUserSettings(int userId)
        {
            UserSettingData userSettings = new UserSettingData();

            UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
            newUserSettings.UserId             = userId;
            newUserSettings.IsAdmin            = IsAdminCheckBox.Checked;
            newUserSettings.GlobalSurveyAccess = HasSurveyAccessCheckBox.Checked;
            userSettings.UserSettings.Rows.Add(newUserSettings);
            new User().AddUserSettings(userSettings);
        }
        private void CreateUserButton_Click(object sender, System.EventArgs e)
        {
            if (ValidateFieldOptions())
            {
                NSurveyUserData          userData = new NSurveyUserData();
                NSurveyUserData.UsersRow newUser  = userData.Users.NewUsersRow();

                if (_userProvider is INSurveyUserProvider)
                {
                    //if (PasswordTextBox.Text.Length == 0)
                    if (!Regex.IsMatch(PasswordTextBox.Text, @"(?=^.{8,12}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+}{":;'?/>.<,])(?!.*\s).*$"))

                    {
                        MessageLabel.Visible = true;
                        ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("PasswordRequiredMessage"));
                        return;
                    }

                    newUser.UserName = UserNameTextBox.Text;
                    var sec = new LoginSecurity();
                    newUser.PasswordSalt = sec.CreateSaltKey(5);
                    newUser.Password     = sec.CreatePasswordHash(PasswordTextBox.Text, newUser.PasswordSalt);
                    newUser.Email        = EmailTextBox.Text;
                    newUser.FirstName    = FirstNameTextBox.Text;
                    newUser.LastName     = LastNameTextBox.Text;
                    userData.Users.Rows.Add(newUser);
                    ((INSurveyUserProvider)_userProvider).AddUser(userData);
                }

                if (userData.Users.Rows.Count > 0)
                {
                    UserSettingData userSettings = new UserSettingData();
                    UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
                    newUserSettings.UserId             = userData.Users[0].UserId;
                    newUserSettings.IsAdmin            = IsAdminCheckBox.Checked;
                    newUserSettings.GlobalSurveyAccess = HasSurveyAccessCheckBox.Checked;
                    userSettings.UserSettings.Rows.Add(newUserSettings);
                    new User().AddUserSettings(userSettings);
                }
                UINavigator.NavigateToUserManager(((PageBase)Page).getSurveyId(), ((PageBase)Page).MenuIndex);
            }
        }
        private void ApplyChangesButton_Click(object sender, System.EventArgs e)
        {
            if (ValidateFieldOptions())
            {
                if (new Users().IsAdministrator(UserId) && !IsAdminCheckBox.Checked && new Users().GetAdminCount() == 1)
                {
                    MessageLabel.Visible = true;
                    ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("CannotDeleteLastAdminMessage"));
                    return;
                }

                if (_userProvider is INSurveyUserProvider)
                {
                    NSurveyUserData          userData    = new NSurveyUserData();
                    NSurveyUserData.UsersRow updatedUser = userData.Users.NewUsersRow();
                    updatedUser.UserId   = UserId;
                    updatedUser.UserName = UserNameTextBox.Text;

                    // if no password was specified the old one will be kept
                    if (PasswordTextBox.Text.Length > 0)
                    {
                        if (!Regex.IsMatch(PasswordTextBox.Text, @"(?=^.{8,12}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+}{":;'?/>.<,])(?!.*\s).*$"))
                        {
                            MessageLabel.Visible = true;
                            ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("PasswordRequiredMessage"));
                            return;
                        }
                        else
                        {
                            var sec = new LoginSecurity();
                            updatedUser.PasswordSalt = sec.CreateSaltKey(5);
                            updatedUser.Password     = sec.CreatePasswordHash(PasswordTextBox.Text, updatedUser.PasswordSalt);
                        }
                    }
                    else
                    {
                        updatedUser.Password     = null;
                        updatedUser.PasswordSalt = null;
                    }

                    updatedUser.Email     = EmailTextBox.Text;
                    updatedUser.FirstName = FirstNameTextBox.Text;
                    updatedUser.LastName  = LastNameTextBox.Text;
                    userData.Users.Rows.Add(updatedUser);
                    ((INSurveyUserProvider)_userProvider).UpdateUser(userData);
                }

                UserSettingData userSettings = new UserSettingData();
                UserSettingData.UserSettingsRow newUserSettings = userSettings.UserSettings.NewUserSettingsRow();
                newUserSettings.UserId             = UserId;
                newUserSettings.IsAdmin            = IsAdminCheckBox.Checked;
                newUserSettings.GlobalSurveyAccess = HasSurveyAccessCheckBox.Checked;
                userSettings.UserSettings.Rows.Add(newUserSettings);
                new User().UpdateUserSettings(userSettings);

                // Notifiy containers that data has changed
                OnOptionChanged();

                BindSurveyDropDownLists();
                MessageLabel.Visible = true;
                ((PageBase)Page).ShowNormalMessage(MessageLabel, ((PageBase)Page).GetPageResource("UserUpdatedMessage"));
            }
        }