Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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);
        }