public async Task <IActionResult> Post([FromBody] ScenarioRequest model) { Scenario newRecord = null; if (ModelState.IsValid) { InitUserCredentials(); newRecord = new Scenario { Guid = Guid.NewGuid(), UserGuid = UserGuid, CompanyGuid = CompanyGuid, CreationTime = DateTime.UtcNow, CreationUserGuid = UserGuid }; newRecord = _mapper.Map(model, newRecord); try { await _scenarioService.Save(newRecord); } catch (Exception e) { Log.Error(e.StackTrace); throw; } } return(CreatedAtAction(nameof(Post), _mapper.Map(newRecord, new ScenarioResponse()))); }
public IActionResult Update([FromBody] ScenarioRequest scenario) { var scenarioModel = scenario.ToScenarioModel(); // Assign new serial number to indicate the scenario has changed to the player scenarioModel.SerialNumber = _scenarioCoreController.GetNewSerialNumber(); scenarioModel = _scenarioCoreController.Update(scenarioModel, true); var scenarioContract = scenarioModel.ToScenarioContract(); return(new ObjectResult(scenarioContract)); }
public IActionResult Create([FromBody] ScenarioRequest newStory) { var scenario = newStory.ToScenarioModel(); // Assign new serial number to indicate the scenario has changed to the player scenario.SerialNumber = _scenarioCoreController.GetNewSerialNumber(); if (scenario.Comment == null) { scenario.Comment = ""; } _scenarioCoreController.Create(scenario, true); var scenarioContract = scenario.ToScenarioContract(); return(new ObjectResult(scenarioContract)); }
public static Scenario ToScenarioModel(this ScenarioRequest scenarioContract) { var metadata = new Metadata(scenarioContract.Metadata.ToString()); return(new Scenario { Id = metadata.Id, CreatorId = metadata.CreatorId, Title = metadata.Title, Submitted = metadata.Submitted, Language = metadata.Language, Region = metadata.Region, Content = scenarioContract.Content.ToString(), CompleteContent = metadata.CompleteContent }); }
public IActionResult UpdateMetadata([FromBody] ScenarioRequest metadata) { var metadataModel = metadata.ToScenarioMetadata(); // Assign new serial number to indicate the scenario has changed to the player metadataModel.SerialNumber = _scenarioCoreController.GetNewSerialNumber(); var scenario = _scenarioCoreController.Get(metadataModel.Id); scenario.UpdateMetadata(metadataModel); scenario = _scenarioCoreController.Update(scenario, false); var scenarioContract = scenario.ToScenarioContract(); return(new ObjectResult(scenarioContract)); }
public async Task <IActionResult> Put([FromBody] ScenarioRequest model, Guid guid) { if (ModelState.IsValid) { if (guid == Guid.Empty) { return(new BadRequestResult()); } Scenario record = await _scenarioService.Get(guid); if (record == null) { return(new NoContentResult()); } InitUserCredentials(); if (record.UserGuid != UserGuid) { return(new UnauthorizedResult()); } var mapped = _mapper.Map(model, record); mapped.LastUpdateTime = DateTime.Now; mapped.LastUpdateUserGuid = UserGuid; try { await _scenarioService.Save(mapped); } catch (Exception e) { Log.Error(e.StackTrace); throw; } } return(new OkResult()); }
public static Metadata ToScenarioMetadata(this ScenarioRequest scenarioContract) { var metadata = new Metadata(scenarioContract.Metadata.ToString()); return(metadata); }