Exemplo n.º 1
0
        /// <summary>
        /// Build a requirements rules
        /// </summary>
        /// <param name="part"></param>
        /// <returns></returns>
        public RequirementsController BuildRequirements(string part)
        {
            // Initialize requirements
            requirements = new Objects.Requirements();

            // Set part name
            requirements.part = part;

            // Return instance
            return(this);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Add requirements to the list
 /// </summary>
 /// <param name="requirements">Requirement Object</param>
 public void AddRequirements(Objects.Requirements requirements)
 => RequirementsList.Add(requirements);
Exemplo n.º 3
0
        /// <summary>
        /// Check every requirements
        /// </summary>
        /// <param name="combo">Combo as user:pass</param>
        /// <param name="requirements">Rules</param>
        /// <returns>Boolean</returns>
        public bool CheckRequirements(string combo, Objects.Requirements requirements)
        {
            // Setting up temporary variable
            bool result = true;

            // Split the combo
            string user = combo.Split(':')[0];
            string pass = combo.Split(':')[1];

            // Define haystack
            string haystack;

            if (requirements.part == "user")
            {
                haystack = user;
            }
            else
            {
                haystack = pass;
            }

            // Foreach rules
            foreach (Rules req in requirements.rules.Keys)
            {
                // Check every rules
                switch (req)
                {
                case Rules.MinLength:
                    result = CheckMinimumLength(haystack, int.Parse(requirements.rules[req]));
                    break;

                case Rules.MaxLength:
                    result = CheckMaximumLength(haystack, int.Parse(requirements.rules[req]));
                    break;

                case Rules.MustContains:
                    result = ContainsChar(haystack, requirements.rules[req]);
                    break;

                case Rules.MustNotContains:
                    result = !ContainsChar(haystack, requirements.rules[req]);
                    break;

                case Rules.MustContainsDigit:
                    result = ContainsDigit(haystack);
                    break;

                case Rules.MustContainsLowercase:
                    result = ContainsLowercase(haystack);
                    break;

                case Rules.MustContainsUppercase:
                    result = ContainsUppercase(haystack);
                    break;

                case Rules.MustContainsSymbol:
                    result = ContainsSymbol(haystack);
                    break;
                }
            }

            // Return result
            return(result);
        }