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); } }