public static Data.TaskListChanges CreateListOfLocalListChangesToSubmitRemotely()
        {
            var todoFiles       = System.IO.Directory.GetFiles(FolderPath.TodoFilePath, "*.tdl");
            var compareFiles    = System.IO.Directory.GetFiles(FolderPath.LocalChangesCompareFilePath, "*.xml");
            var taskListChanges = new TaskListChanges();
            var found           = false;

            foreach (var todoFile in todoFiles)
            {
                found = false;
                var todoTitle = todoFile.Split('\\').Last().Split('.').First();

                foreach (var syncFile in compareFiles)
                {
                    var compareTitle = syncFile.Split('\\').Last().Split('.').First();

                    if (todoTitle == compareTitle)
                    {
                        found = true;
                    }
                }
                if (!found)
                {
                    var taskListChange = new TaskListChange();
                    taskListChange.Title          = todoTitle;
                    taskListChange.TaskChangeType = TaskListChangeType.Create;
                    taskListChanges.Add(taskListChange);
                }
            }


            foreach (var compareFile in compareFiles)
            {
                found = false;
                var compareTitle = compareFile.Split('\\').Last().Split('.').First();

                foreach (var todoFile in todoFiles)
                {
                    var todoTitle = todoFile.Split('\\').Last().Split('.').First();
                    if (compareTitle == todoTitle)
                    {
                        found = true;
                    }
                }
                if (!found)
                {
                    var taskListChange = new TaskListChange
                    {
                        Title          = compareTitle,
                        TaskChangeType = TaskListChangeType.Delete
                    };
                    taskListChanges.Add(taskListChange);
                }
            }

            return(taskListChanges);
        }
 public TaskListEventArgs(IHttpTask task, TaskListChange change)
 {
     this.Task   = task;
     this.Change = change;
 }
 protected virtual void OnChange(IHttpTask task, TaskListChange change)
 => this.CurrentTasksChanged?.Invoke(this, new TaskListEventArgs(task, change));