public RaceConfiguration(RaceConfiguration src) { Name = src.Name; InternalDSVAlpinCompetitionTypeWrite = src.InternalDSVAlpinCompetitionTypeWrite; Runs = src.Runs; DefaultGrouping = src.DefaultGrouping; ActiveFields = src.ActiveFields.Copy <List <string> >(); RaceResultView = src.RaceResultView; RaceResultViewParams = src.RaceResultViewParams.Copy <Dictionary <string, object> >(); Run1_StartistView = src.Run1_StartistView; Run1_StartistViewGrouping = src.Run1_StartistViewGrouping; Run1_StartistViewParams = src.Run1_StartistViewParams.Copy <Dictionary <string, object> >(); Run2_StartistView = src.Run2_StartistView; Run2_StartistViewGrouping = src.Run2_StartistViewGrouping; Run2_StartistViewParams = src.Run2_StartistViewParams.Copy <Dictionary <string, object> >(); LivetimingParams = src.LivetimingParams.Copy <Dictionary <string, string> >(); ValueF = src.ValueF; ValueA = src.ValueA; ValueCutOff = src.ValueCutOff; MinimumPenalty = src.MinimumPenalty; }
bool loadConfiguration(string filename, out string name, out RaceConfiguration raceConfiguration) { try { string configJSON = System.IO.File.ReadAllText(filename); raceConfiguration = new RaceConfiguration(); Newtonsoft.Json.JsonConvert.PopulateObject(configJSON, raceConfiguration); if (string.IsNullOrEmpty(raceConfiguration.Name)) { raceConfiguration.Name = System.IO.Path.GetFileNameWithoutExtension(filename); } name = raceConfiguration.Name; } catch (Exception e) { logger.Info(e, "could not load race preset {name}", filename); raceConfiguration = null; name = null; return(false); } return(true); }
public void SaveConfiguration(string name, RaceConfiguration raceConfiguration) { char[] invalidFileNameChars = System.IO.Path.GetInvalidFileNameChars(); // Builds a string out of valid chars string saveName = new string(name.Where(ch => !invalidFileNameChars.Contains(ch)).ToArray()); raceConfiguration.Name = name; writeConfiguration(saveName, raceConfiguration); loadAllConfiguration(); }
void writeConfiguration(string name, RaceConfiguration raceConfiguration) { string filename = System.IO.Path.Combine(_directory, name + ".preset"); try { string configJSON = Newtonsoft.Json.JsonConvert.SerializeObject(raceConfiguration, Newtonsoft.Json.Formatting.Indented); System.IO.File.WriteAllText(filename, configJSON); } catch (Exception e) { logger.Info(e, "could not write race preset {name}", filename); } }
public static bool MainConfig(RaceConfiguration config1, RaceConfiguration config2) { bool res = true; res &= config1.Runs == config2.Runs; res &= config1.DefaultGrouping == config2.DefaultGrouping; res &= !config1.ActiveFields.Except(config2.ActiveFields).Any(); res &= !config2.ActiveFields.Except(config1.ActiveFields).Any(); res &= config1.RaceResultView == config2.RaceResultView; res &= config1.Run1_StartistView == config2.Run1_StartistView; res &= config1.Run1_StartistViewGrouping == config2.Run1_StartistViewGrouping; res &= config1.Run2_StartistView == config2.Run2_StartistView; res &= config1.Run2_StartistViewGrouping == config2.Run2_StartistViewGrouping; return(res); }
public static RaceConfiguration MainConfig(RaceConfiguration baseConfig, RaceConfiguration newConfig) { RaceConfiguration mergedConfig = new RaceConfiguration(baseConfig); mergedConfig.Name = newConfig.Name; mergedConfig.Runs = newConfig.Runs; mergedConfig.DefaultGrouping = newConfig.DefaultGrouping; mergedConfig.ActiveFields = newConfig.ActiveFields.Copy <List <string> >(); mergedConfig.RaceResultView = newConfig.RaceResultView; mergedConfig.RaceResultViewParams = newConfig.RaceResultViewParams.Copy <Dictionary <string, object> >(); mergedConfig.Run1_StartistView = newConfig.Run1_StartistView; mergedConfig.Run1_StartistViewGrouping = newConfig.Run1_StartistViewGrouping; mergedConfig.Run1_StartistViewParams = newConfig.Run1_StartistViewParams.Copy <Dictionary <string, object> >(); mergedConfig.Run2_StartistView = newConfig.Run2_StartistView; mergedConfig.Run2_StartistViewGrouping = newConfig.Run2_StartistViewGrouping; mergedConfig.Run2_StartistViewParams = newConfig.Run2_StartistViewParams.Copy <Dictionary <string, object> >(); return(mergedConfig); }
public ViewConfigurator(Race race) { _race = race; _dataModel = race.GetDataModel(); _config = race.RaceConfiguration.Copy(); }