Esempio n. 1
0
        public IActionResult PostTemplate([FromBody] MicroTemplateInfo model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            try
            {
                _microTemplateProcessor.ExecuteTemplate(model);
                return(Ok(model));
            }
            catch (Exception ex)
            {
                return(Problem(UtilString.GetStringException(ex)));
            }
        }
Esempio n. 2
0
 public IActionResult GetTemplate([FromQuery] IDictionary <string, string> templateParams)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest());
     }
     try
     {
         var model = MicroTemplateInfo.FromDictionary(templateParams);
         model.SetDefaultsForNulls();
         _microTemplateProcessor.ExecuteTemplate(model);
         return(Ok(model));
     }
     catch (Exception ex)
     {
         return(Problem(UtilString.GetStringException(ex)));
     }
 }
Esempio n. 3
0
        public IActionResult Post(string taskName, [FromBody] IDictionary <string, object> parameters)
        {
            var taskList = _taskLocator.GetTaskHolderList();
            var task     = taskList.FirstOrDefault(t => t.Key == taskName);

            if (task == null)
            {
                return(NotFound());
            }

            var definition = task.Task.GetTaskParameterDefinition();

            if (definition.Any(d => d.Type == TaskParameterType.CustomConsole))
            {
                return(BadRequest("This task is only enabled for console client"));
            }

            _consolePlugin.Flush();
            var result = new TaskExecutionResult();

            try
            {
                task.Task.Execute(parameters);
                TryGetConsoleBuffer(result);
                result.Success = true;
            }
            catch (Exception ex)
            {
                result.Success          = false;
                result.ExceptionMessage = UtilString.GetStringException(ex);
                TryGetConsoleBuffer(result);

                var r = new ObjectResult(result)
                {
                    StatusCode = StatusCodes.Status500InternalServerError
                };
                return(r);
            }

            return(Ok(result));
        }