示例#1
0
        private static List <T> ParseJsonFileToModel(string fileLocation, IJsonModelFactory <T> modelFactory)
        {
            var result = new List <T>();

            var rootObject = JObject.Parse(File.ReadAllText(fileLocation));

            result.Add(modelFactory.Create(rootObject));

            return(result);
        }
示例#2
0
        public static List <T> ParseJsonDirectoryToModels(string directoryPath, IJsonModelFactory <T> modelFactory,
                                                          string pattern)
        {
            var filesInDirectory = Directory.GetFiles(directoryPath, pattern, SearchOption.AllDirectories);

            var resultList = new List <T>();

            for (var i = 0; i < filesInDirectory.Length; i++)
            {
                var currentFile = filesInDirectory[i];

                try
                {
                    var currentFileModels = ParseJsonFileToModel(currentFile, modelFactory);
                    resultList.AddRange(currentFileModels);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Encountered unreadable file: " + currentFile);
                }
            }
            return(resultList);
        }