private List <PassportModel> GetPassportModelsFromLineData(List <List <string> > passportLines) { var passports = new List <PassportModel>(); foreach (var passport in passportLines) { var passportModel = new PassportModel(); foreach (var line in passport) { var pairs = line.Split(' '); foreach (var pair in pairs) { var splitPair = pair.Split(':'); passportModel.AddInfo(splitPair[0], splitPair[1]); } } passports.Add(passportModel); } return(passports); }
public bool IsPassportValid(PassportModel passportModel) { foreach (var validator in validators) { if (!passportModel.KeyValues.TryGetValue(validator.Key, out var value)) { return(false); } if (!validator.TestInput(value)) { return(false); } } return(true); }