public void SaveJsonSimulationPreferences(SimulationPreferences preferences)
        {
            var workingDir = Directory.GetCurrentDirectory();
            var configName = this.config["SimulationPreferences"];

            File.WriteAllText(
                Path.Combine(workingDir, configName),
                JsonConvert.SerializeObject(preferences, Formatting.Indented));
        }
        public void InitializeStatisticsService()
        {
            this.Log.Debug("Initialized statistics service.");
            this.vehiclePopulationList = new List <VehiclePopulation>();
            this.personalityStats      = new Dictionary <Personality, int>();
            this.avgSpeedByPersonality = new Dictionary <Personality, float>();
            foreach (Personality personality in Enum.GetValues(typeof(Personality)))
            {
                this.personalityStats.Add(personality, 0);
                this.avgSpeedByPersonality.Add(personality, 0f);
            }
            this.driverReports = new List <DriverReport>();

            SimulationPreferences simulationPreferences = this.processService.GetJsonSimulationPreferences();

            this.sceneData = simulationPreferences.availableScenes.Find(x => x.name == simulationPreferences.currentSceneName);
        }
        public IActionResult SaveSimulationPreferences([FromBody] SimulationPreferences preferences)
        {
            try
            {
                if (TryValidateModel(preferences))
                {
                    this.processService.SaveJsonSimulationPreferences(preferences);
                    return(this.Ok());
                }

                return(this.ValidationProblem());
            }
            catch (Exception ex)
            {
                return(this.BadRequest(ex));
            }
        }