public async Task<HttpResponseMessage> PostComposedModel(Guid id, ComposedModelSaveRequest composedModel) { var model = await _modelRepository.GetComposedModel(id); var isNew = model == null; await _modelRepository.SaveComposedModel(new ComposedModel { Id = id, Name = composedModel.Name, Description = composedModel.Description, Sets = composedModel.Sets, Parameters = composedModel.Parameters, Variables = composedModel.Variables, ObjectiveFunction = composedModel.ObjectiveFunction, Constraints = composedModel.Constraints, LastRevision = isNew ? 1 : model.LastRevision, }); if (isNew) { var scenario = new Scenario { Id = Guid.NewGuid(), ModelId = id, Name = composedModel.Name, Description = composedModel.Description, Revision = 1, }; await _modelRepository.SaveScenario(scenario); } return Request.CreateResponse(HttpStatusCode.OK); }
public ScenarioViewModel(Scenario scenario, bool hasResults) { Id = scenario.Id; ParentScenarioId = scenario.ParentScenarioId; ModelId = scenario.ModelId; Name = scenario.Name; Description = scenario.Description; Revision = scenario.Revision; HasResults = hasResults; }
public async Task SaveScenario(Scenario scenario) { await _scenariosCollection.ReplaceOneAsync(x => x.Id == scenario.Id, scenario, new UpdateOptions { IsUpsert = true }); }