in Editor/Deployment/ScenarioParametersUpdater.cs [26:78]
public virtual Response Update(string parametersFilePath, IReadOnlyDictionary<string, string> parameters)
{
if (parametersFilePath is null)
{
throw new ArgumentNullException(nameof(parametersFilePath));
}
if (parameters is null)
{
throw new ArgumentNullException(nameof(parameters));
}
FileReadAllTextResponse fileReadResponse = _coreApi.FileReadAllText(parametersFilePath);
if (!fileReadResponse.Success)
{
return fileReadResponse;
}
ScenarioParametersEditor parameterEditor = _editorFactory.Invoke();
Response readResponse = parameterEditor.ReadParameters(fileReadResponse.Text);
if (!readResponse.Success)
{
return readResponse;
}
foreach (KeyValuePair<string, string> pair in parameters)
{
Response setParameterResponse = parameterEditor.SetParameter(pair.Key, pair.Value);
if (!setParameterResponse.Success)
{
return setParameterResponse;
}
}
SaveParametersResponse saveResponse = parameterEditor.SaveParameters();
if (!saveResponse.Success)
{
return saveResponse;
}
Response fileWriteResponse = _coreApi.FileWriteAllText(parametersFilePath, saveResponse.SerializedParameters);
if (!fileWriteResponse.Success)
{
return fileWriteResponse;
}
return Response.Ok(new Response());
}