private static void WriteLogRecord(Guid guid, int severity, string text, string stackTrace, params string[] textParameters) { List <BackgroundTask> tasks = TaskController.GetTasks(guid); if (tasks.Count > 0) { BackgroundTask rootTask = tasks[0]; BackgroundTaskLogRecord log = new BackgroundTaskLogRecord( rootTask.Id, tasks.Count - 1, false, text, stackTrace, textParameters); TaskController.AddLog(log); if (severity > rootTask.Severity) { rootTask.Severity = severity; TaskController.UpdateTask(rootTask); } } }
public static void StartTask(string taskId, string source, string taskName, object itemName, int itemId, int scheduleId, int packageId, int maximumExecutionTime, List <BackgroundTaskParameter> parameters) { if (String.IsNullOrEmpty(taskId)) { taskId = Guid.NewGuid().ToString("N"); } var user = SecurityContext.User; int userId = user.OwnerId == 0 ? user.UserId : user.OwnerId; int effectiveUserId = user.UserId; String itemNameStr = itemName != null ? itemName.ToString() : String.Empty; //: itemId > 0 ? "(Id = " + itemId + ")" : String.Empty; BackgroundTask task = new BackgroundTask(Guid, taskId, userId, effectiveUserId, source, taskName, itemNameStr, itemId, scheduleId, packageId, maximumExecutionTime, parameters); List <BackgroundTask> tasks = TaskController.GetTasks(Guid); if (tasks.Count > 0) { BackgroundTask rootTask = tasks[0]; BackgroundTaskLogRecord log = new BackgroundTaskLogRecord( rootTask.Id, tasks.Count - 1, true, String.Format("{0}_{1}", source, taskName), new string[] { itemNameStr }); TaskController.AddLog(log); } // call event handler CallTaskEventHandler(task, false); AddTaskThread(TaskController.AddTask(task), Thread.CurrentThread); }