public void ExtractDataFromAllSubFolders(string folder) { List <CarModelProperties> carModelsProperties = new List <CarModelProperties>(); DirectoryInfo parentDirectoryInfo = new DirectoryInfo(folder); foreach (DirectoryInfo directory in parentDirectoryInfo.GetDirectories()) { var tyreCompounds = _tyreOperationalRangeExtractor.ExtractFromFolder(directory.FullName); if (tyreCompounds.Count == 0) { continue; } carModelsProperties.Add(new CarModelProperties() { Name = FormatACName(directory.Name), TyreCompoundsProperties = tyreCompounds }); } DataSourceProperties acProperties = new DataSourceProperties() { CarModelsProperties = carModelsProperties, SourceName = "AC_DEFAULT", ContainsRearTyres = true }; var xmlSerializer = new XmlSerializer(typeof(DataSourceProperties)); var fileName = Path.Combine(folder, "AcTyreProperties.xml"); using (FileStream file = File.Exists(fileName) ? File.Open(fileName, FileMode.Truncate) : File.Create(fileName)) { xmlSerializer.Serialize(file, acProperties); } }
public void SaveDataSourceProperties(DataSourceProperties properties) { Directory.CreateDirectory(OverridingPath); string path = Path.Combine(OverridingPath, properties.SourceName + FileSuffix); using (FileStream file = File.Exists(path) ? File.Open(path, FileMode.Truncate) : File.Create(path)) { _xmlSerializer.Serialize(file, properties); } }
public DataSourceProperties GetDataSourceProperties(string sourceName) { string primaryFilePath = System.IO.Path.Combine(Path, sourceName + FileSuffix); DataSourceProperties baseProperties = File.Exists(primaryFilePath) ? LoadDataSourceProperties(primaryFilePath) : new DataSourceProperties() { SourceName = sourceName, ContainsRearTyres = true }; return(baseProperties); }
public DataSourceProperties GetDataSourcePropertiesAsync(string sourceName) { string primaryFilePath = Path.Combine(PrimaryPath, sourceName + FileSuffix); DataSourceProperties baseProperties = File.Exists(primaryFilePath) ? LoadDataSourceProperties(primaryFilePath) : new DataSourceProperties() { SourceName = sourceName }; string secondaryPath = Path.Combine(OverridingPath, sourceName + FileSuffix); if (File.Exists(secondaryPath)) { baseProperties.OverrideWith(LoadDataSourceProperties(secondaryPath)); } return(baseProperties); }
public void SaveDataSourceProperties(DataSourceProperties dataSourceProperties) { _cachedProperties.AddOrUpdate(dataSourceProperties.SourceName, dataSourceProperties, (x, y) => dataSourceProperties); _simSettingsLoader.SaveDataSourceProperties(dataSourceProperties); }