Пример #1
0
        public SchemeFile[] GetAll(string directory)
        {
            var path = Path.Combine(_schemeCatalog, directory);

            if (!Directory.Exists(path))
            {
                return(new SchemeFile[0]);
            }

            var files  = Directory.GetFiles(path, "*.json", SearchOption.AllDirectories);
            var result = new List <SchemeFile>();

            foreach (var filePath in files)
            {
                var    sid        = Path.GetFileNameWithoutExtension(filePath);
                var    serialized = File.ReadAllText(filePath);
                string fileFolder = GetRelativePath(path, filePath, sid);

                var schemeFile = new SchemeFile
                {
                    Sid     = sid,
                    Path    = fileFolder,
                    Content = serialized
                };

                result.Add(schemeFile);
            }

            return(result.ToArray());
        }
Пример #2
0
        private TSchemeImpl ParseSchemeFromFile(SchemeFile file)
        {
            // Если явно указаны настройки десериализации, то используем их.
            if (JsonSerializerSettings == null)
            {
                return(JsonConvert.DeserializeObject <TSchemeImpl>(file.Content));
            }

            return(JsonConvert.DeserializeObject <TSchemeImpl>(file.Content, JsonSerializerSettings));
        }
Пример #3
0
        private TSchemeImpl ParseSchemeFromFile(SchemeFile file)
        {
            // Если явно указаны настройки десериализации, то используем их.
            if (JsonSerializerSettings is null)
            {
                return(JsonConvert.DeserializeObject <TSchemeImpl>(file.Content));
            }

#pragma warning disable CS8603 // Possible null reference return.
            return(JsonConvert.DeserializeObject <TSchemeImpl>(file.Content, JsonSerializerSettings));

#pragma warning restore CS8603 // Possible null reference return.
        }