Exemple #1
0
        public static List <Passport> ProcessInput()
        {
            string[]        inputLines = File.ReadAllLines(PATH);
            List <Passport> passports  = new List <Passport>();
            Passport        passport   = new Passport();

            for (int i = 0; i < inputLines.Length; i++)
            {
                if (inputLines[i] != "")
                {
                    List <string> attributeList = inputLines[i].Split(" ").ToList();
                    for (int j = 0; j < attributeList.Count; j++)
                    {
                        string[]          keyValue = attributeList[j].Split(":");
                        PassportAttribute key      = AttributeExtension.GetAttribute(keyValue[0]);
                        passport.AddItem(key, keyValue[1]);
                    }
                }
                else
                {
                    passports.Add(passport);
                    passport = new Passport();
                }
            }
            return(passports);
        }
Exemple #2
0
        private bool IsAttributeValid(PassportAttribute attribute, string value)
        {
            bool valid = false;

            switch (attribute)
            {
            case PassportAttribute.BYR: valid = isByrValid(value);
                break;

            case PassportAttribute.IYR:
                valid = IsIyrValid(value);
                break;

            case PassportAttribute.EYR:
                valid = IsEyrValid(value);
                break;

            case PassportAttribute.HGT:
                valid = IsHgtValid(value);
                break;

            case PassportAttribute.HCL:
                valid = IsHclValid(value);
                break;

            case PassportAttribute.ECL:
                valid = IsEclValid(value);
                break;

            case PassportAttribute.PID:
                valid = IsPidValid(value);
                break;

            case PassportAttribute.CID:
                valid = true;
                break;

            default:
                break;
            }

            return(valid);
        }
Exemple #3
0
 public void AddItem(PassportAttribute key, string value)
 {
     Attribute.Add(key, value);
 }