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); }
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); }
public void AddItem(PassportAttribute key, string value) { Attribute.Add(key, value); }