/// <summary> /// Initializes a new instance of the <see cref="Task"/> class. /// </summary> /// <param name="action"> /// The action. /// </param> /// <param name="taskData"> /// The task data. /// </param> /// <param name="result"> /// The result. /// </param> /// <param name="controllerName"> /// The controller name. /// </param> /// <param name="thread"> /// The thread. /// </param> private Task(Func<Dictionary<string, object>> action, TaskData taskData, Dictionary<string, object> result, string controllerName, Thread thread) { Action = action; TaskData = taskData.Clone(); Result = result; ControllerName = controllerName; Thread = thread; }
/// <summary> /// Send web socket message to all clients. /// </summary> /// <param name="taskEvent"> /// Task event. /// </param> /// <param name="task"> /// Task itself. /// </param> public static void Send(TaskEvent taskEvent, TaskData task) { var hubContext = GlobalHost.ConnectionManager.GetHubContext<TasksManagerHub>(); lock (task) { var result = new { task.Id, task.DisplayName, Created = task.Created.ToString(OutputFormats.DateTimeFormat), Started = task.Started == null ? string.Empty : ((DateTimeOffset)task.Started).ToString(OutputFormats.DateTimeFormat), Completed = task.Completed == null ? string.Empty : ((DateTimeOffset)task.Completed).ToString(OutputFormats.DateTimeFormat), ExecutionTime = task.ExecutionTime == null ? string.Empty : ((TimeSpan)task.ExecutionTime).ToString(OutputFormats.TimeFormat), TaskState = task.TaskState.ToString(), TaskStateName = task.TaskState.GetDisplayValue(), task.UserId, task.UserName }; hubContext.Clients.All.TaskEvent(taskEvent.ToString(), result); } }
/// <summary> /// Initializes a new instance of the <see cref="Task"/> class. /// </summary> /// <param name="id"> /// The id. /// </param> /// <param name="action"> /// The action. /// </param> /// <param name="userId"> /// Creator id. /// </param> /// <param name="taskType"> /// The task Type. /// </param> public Task(long id, Func <Dictionary <string, string> > action, int userId, TaskType taskType) { Action = action; TaskData = new TaskData(id, userId, taskType); }
/// <summary> /// Initializes a new instance of the <see cref="Task"/> class. /// </summary> /// <param name="id"> /// The id. /// </param> /// <param name="action"> /// The action. /// </param> /// <param name="controllerName"> /// The controller name. /// </param> /// <param name="displayName"> /// The display name. /// </param> /// <param name="userId"> /// Creator id. /// </param> public Task(int id, Func<Dictionary<string, object>> action, string controllerName, string displayName, string userId) { Action = action; ControllerName = controllerName; TaskData = new TaskData(id, displayName, userId); }