public IActionResult PutSettings(Guid guid, [FromBody] BodySettings settings) { if (guid == Guid.Empty) { return(Problem("Empty GUID is invalid.")); } _logger.LogInformation("Enter PutSettings."); //database process id Guid processId = Guid.NewGuid(); try { Task.Run(() => { using (SettingsHandler handler = new SettingsHandler(_settings, _eventHub, _preingestCollection)) { handler.Logger = _logger; handler.SetSessionGuid(guid); handler.CurrentSettings = settings; processId = handler.AddProcessAction(processId, typeof(SettingsHandler).Name, String.Format("Save user input setting(s) for folder {0}", guid), String.Concat(typeof(SettingsHandler).Name, ".json")); _logger.LogInformation("Execute handler ({0}) with GUID {1}.", typeof(SettingsHandler).Name, guid.ToString()); handler.Execute(); } }); } catch (Exception e) { _logger.LogError(e, "An exception was thrown in {0}: '{1}'.", typeof(SettingsHandler).Name, e.Message); return(ValidationProblem(e.Message, typeof(SettingsHandler).Name)); } _logger.LogInformation("Exit PutSettings."); return(new JsonResult(new { Message = String.Format("Settings are stored."), SessionId = guid, ActionId = processId })); }