public BaseResponse <Scenario> CreateScenario(Scenario scenario)
        {
            var validationErrors = ValidateScenario(scenario);

            if (validationErrors.Any())
            {
                return(new ErrorResponse <Scenario>("The scenario could not be added", scenario, validationErrors));
            }

            scenario.Id         = Guid.NewGuid();
            scenario.CreateDate = DateTime.UtcNow;
            scenario.Simulation = new Simulation
            {
                ScenarioId = scenario.Id,
                BlockchainConfiguration = new BlockchainConfiguration(),
                ServerNodes             = new List <ServerNode>(),
                Status      = SimulationStatuses.ReadyToRun,
                LastRunTime = null
            };

            _scenarioStorage.AddScenario(scenario);
            _scenarioStorage.SaveChanges();

            return(new SuccessResponse <Scenario>("The scenario has been created successfully!", scenario));
        }
 public void SaveChanges()
 {
     _scenarioStorage.SaveChanges();
 }