Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }