Exemplo n.º 1
0
        public static ValidationResponseType IsValidPaymentPlanName(string PlanName)
        {
            ValidationResponseType response = new ValidationResponseType();

            //Check if name is null
            if (PlanName == null || PlanName == String.Empty)
            {
                response.isValid           = false;
                response.validationMessage = "Plan name is blank.";

                return(response);
            }

            //Check if name has any spaces
            if (PlanName.Contains("  "))
            {
                response.isValid           = false;
                response.validationMessage = "Plan name cannot contain any double empty spaces";

                return(response);
            }

            //Check if the character length conforsms to policy
            if (PlanName.Length < 2 || PlanName.Length > 25)
            {
                response.isValid           = false;
                response.validationMessage = "Plan name must be between " + 2 + "-" + 35 + " characters long.";

                return(response);
            }
            //We allow for spaces, dashes, ampersands and apostrophes, so we remove them before doing a regex for other special characters
            else if ((Regex.IsMatch(PlanName.Replace("(", "").Replace(")", "").Replace(" ", ""), @"^[a-zA-Z0-9]+$")) == false)
            {
                response.isValid           = false;
                response.validationMessage = "Plan name cannot contain special characters";

                return(response);
            }
            else
            {
                //Check if PlanName Exists ====================
                SqlBoolStatements sqlBoolStatements = new SqlBoolStatements();
                bool accountExists = sqlBoolStatements.PlanNameExists(PlanName);

                if (accountExists)
                {
                    response.isValid           = false;
                    response.validationMessage = "Plan with that name already exists.";

                    return(response);
                }
                else
                {
                    response.isValid = true;
                }
            }


            return(response);
        }
Exemplo n.º 2
0
        public static ValidationResponseType IsValidAccountName(string AccountName)
        {
            AccountName = AccountName.Trim(); //<---We trim here, since registration will also trim

            ValidationResponseType response = new ValidationResponseType();

            //Check if name is null
            if (AccountName == null || AccountName == String.Empty)
            {
                response.isValid           = false;
                response.validationMessage = "Account name is blank.";

                return(response);
            }

            //Check if Accounts Name is a system reserved name:
            foreach (string reservedName in Settings.Accounts.Registration.ReservedAccountNames)
            {
                if (Sahara.Core.Common.Methods.AccountNames.ConvertToAccountNameKey(AccountName) == reservedName)
                {
                    response.isValid           = false;
                    response.validationMessage = AccountName + " is a reserved name.";

                    return(response);
                }
            }
            //Check if name has trailing whitespace(s)
            if (Regex.IsMatch(AccountName, @"\s+$"))
            {
                response.isValid           = false;
                response.validationMessage = "Name cannot contain empty spaces at the end.";

                return(response);
            }

            //Check if name has whitespace(s) at front
            if (AccountName[0].ToString() == " ")
            {
                response.isValid           = false;
                response.validationMessage = "Name cannot contain an empty space as the first character.";

                return(response);
            }

            //Check if the character length conforsms to policy
            if (AccountName.Length < Settings.Accounts.Registration.AccountNameMinimumLength || AccountName.Length > Settings.Accounts.Registration.AccountNameMaximunLength)
            {
                response.isValid           = false;
                response.validationMessage = "Name must be between " + Settings.Accounts.Registration.AccountNameMinimumLength + "-" + Settings.Accounts.Registration.AccountNameMaximunLength + " characters long.";

                return(response);
            }
            //We allow for spaces, dashes, ampersands and apostrophes, so we remove them before doing a regex for other special characters
            else if ((Regex.IsMatch(Sahara.Core.Common.Methods.AccountNames.ConvertToAccountNameKey(AccountName), "^[a-zA-Z0-9\\-]*$")) == false)
            {
                response.isValid           = false;
                response.validationMessage = "Name cannot contain special characters";

                return(response);
            }
            else
            {
                //Check if AccountName Exists ====================
                SqlBoolStatements sqlBoolStatements = new SqlBoolStatements();
                bool accountExists = sqlBoolStatements.AccountNameExists(AccountName);

                if (accountExists)
                {
                    response.isValid           = false;
                    response.validationMessage = "Account with that name already exists.";

                    return(response);
                }
                else
                {
                    response.isValid = true;
                }
            }

            //check if subdomain will be less than minimum character length after shortening (to avoid names like "--T--" being able to create subdomains like "t")
            if (Sahara.Core.Common.Methods.AccountNames.ConvertToAccountNameKey(AccountName).Length < Settings.Accounts.Registration.AccountNameMinimumLength)
            {
                response.isValid           = false;
                response.validationMessage = "Name must have at least " + Settings.Accounts.Registration.AccountNameMinimumLength + " alphanumeric characters.";

                return(response);
            }


            return(response);
        }