Exemplo n.º 1
0
        public Task InsertScriptTask(String scriptId, String name, IList <TaskScriptParameter> taskScriptParameter)
        {
            Script script = _scriptDataAccess.Get(scriptId);

            if (script != null)
            {
                Task task = new Task();
                task.ExternalId = System.Guid.NewGuid().ToString();
                task.Project    = script.Project;
                task.ParentId   = script.ID;
                task.ParentType = ItemType.Script;
                task.Name       = name;
                task.Status     = Status.Unprocessed;
                task.Created    = DateTime.UtcNow;

                task = _taskDataAccess.Insert(task);

                TaskScript taskScript = new TaskScript();
                taskScript.Type     = script.Type;
                taskScript.Task     = task;
                taskScript.Content  = script.Content;
                taskScript.Position = 1;

                taskScript = _taskScriptDataAccess.Insert(taskScript);

                if (taskScriptParameter != null)
                {
                    foreach (TaskScriptParameter scriptTaskParameter in taskScriptParameter)
                    {
                        InsertTaskScriptParameter(taskScript.ID, scriptTaskParameter.Name, scriptTaskParameter.Value);
                    }
                }

                return(task);
            }
            else
            {
                _log.Info("InsertScriptTask(" + scriptId + "): Unable to find script");

                return(null);
            }
        }