public async Task <SimulationApiModel> PatchAsync( string id, [FromBody] SimulationPatchApiModel patch) { if (patch == null) { this.log.Warn("NULL patch provided", () => new { id }); throw new BadRequestException("No data or invalid data provided"); } SimulationPatch patchServiceModel = patch.ToServiceModel(id); if (patchServiceModel.Enabled == false) { patchServiceModel.Statistics = new SimulationStatistics { AverageMessagesPerSecond = this.rateReporter.GetThroughputForMessages(), TotalMessagesSent = this.simulationRunner.TotalMessagesCount }; } var simulation = await this.simulationsService.MergeAsync(patchServiceModel); return(SimulationApiModel.FromServiceModel( simulation, this.servicesConfig, this.deploymentConfig, this.connectionStringManager, this.simulationRunner, this.rateReporter)); }
public async Task <SimulationApiModel> PatchAsync( string id, [FromBody] SimulationPatchApiModel patch) { if (patch == null) { this.log.Warn("NULL patch provided", () => new { id }); throw new BadRequestException("No data or invalid data provided"); } return(SimulationApiModel.FromServiceModel( await this.simulationsService.MergeAsync(patch.ToServiceModel(id)))); }