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); }
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); }