Exemplo n.º 1
0
        private ITaskGroup SetData(IDataSourceConfiguration configuration, ITaskGroup tasks)
        {
            IDataProividerResultTasksBase result = (IDataProividerResultTasksBase)dataProvider.SetData(configuration, tasks);

            if (!result.sucess)
            {
                notificationService.Error(notificationConstants.FileWritingTaks("Tasks.json", result.error));
            }
            return(result.data);
        }
Exemplo n.º 2
0
 public static void AddGroup(ITaskGroup group)
 {
     lock (_manager_lock)
     {
         if (GetTaskGroup(group.GroupId) == null)
         {
             TaskGroups.Add(group);
         }
     }
     Debug.WriteLine(group.GroupName, "Add Group");
 }
Exemplo n.º 3
0
        private IDataProividerResultTasksBase AddTaskToTasks(CLTask data, ITaskGroup tasks)
        {
            IDataProividerResultTasksBase result = new DataProviderResultTasks();
            ITaskGroup tasksCoppy = tasks.Clone();

            tasksCoppy.AddTask(data);
            result.data   = tasksCoppy;
            result.sucess = true;

            return(result);
        }
Exemplo n.º 4
0
        public void Add(MapNode node)
        {
            DateTime     dateTime  = node.GetDueDate();
            ControlGroup ctrlGroup = GetApplicableGroup(dateTime);

            if (ctrlGroup != null)
            {
                ITaskGroup taskGroup = (ITaskGroup)ctrlGroup.Tag;
                TaskView   tv        = new TaskView(node, taskGroup.ShortDueDateString(dateTime), OnTaskViewEvent);
                AddToGroup(ctrlGroup, tv);
            }
        }
Exemplo n.º 5
0
        public void Add(TaskView tv)
        {
            ControlGroup ctrlGroup = GetApplicableGroup(tv.DueDate);

            if (ctrlGroup != null)
            {
                ITaskGroup taskGroup = (ITaskGroup)ctrlGroup.Tag;
                tv.TaskDueOnText = taskGroup.ShortDueDateString(tv.DueDate);
                tv.RefreshTaskPath();
                tv.TaskTitle = tv.MapNode.Text;
                AddToGroup(ctrlGroup, tv);
            }
        }
Exemplo n.º 6
0
 public static void MoveTask(ITaskGroup fromGroup, ITaskGroup toGroup, DailyTask dailyTask)
 {
     lock (_manager_lock)
     {
         if (TaskGroups.SingleOrDefault(p => p.GroupId.Equals(fromGroup.GroupId)) != null &&
             TaskGroups.SingleOrDefault(p => p.GroupId.Equals(toGroup.GroupId)) != null)
         {
             fromGroup.DailyTasks.Remove(dailyTask);
             toGroup.DailyTasks.Add(dailyTask);
             dailyTask.GroupId = toGroup.GroupId;
         }
     }
 }
Exemplo n.º 7
0
 public static void AddTask(ITaskGroup group, DailyTask task)
 {
     lock (_manager_lock)
     {
         if (TaskGroups.SingleOrDefault(p => p.GroupId.Equals(group.GroupId)) == null)
         {
             AddGroup(group);
         }
         group.DailyTasks.Add(task);
         task.GroupId = group.GroupId;
     }
     Debug.WriteLine(task.Title, "Add Task");
 }
Exemplo n.º 8
0
        public ControlGroup GetApplicableGroup(DateTime dueDate)
        {
            for (int i = 0; i < this.ControlGroups.Count; i++)
            {
                ControlGroup ctrlGroup = this.ControlGroups[i];
                ITaskGroup   taskGroup = (ITaskGroup)ctrlGroup.Tag;
                if (taskGroup.CanContain(dueDate))
                {
                    return(ctrlGroup);
                }
            }

            // not found
            return(null);
        }
Exemplo n.º 9
0
        private IDataProividerResultTasksBase SetTaskStatusInTasks(CLTask data, ITaskGroup tasks)
        {
            IDataProividerResultTasksBase result = new DataProviderResultTasks();
            ITaskGroup tasksCoppy = tasks.Clone();

            try
            {
                tasksCoppy.SetTask(data);
                result.data   = tasksCoppy;
                result.sucess = true;
            }
            catch (Exception error)
            {
                result.sucess = false;
                result.error  = error.Message;
            }
            return(result);
        }
Exemplo n.º 10
0
 public static bool InsertTask(ITaskGroup group, DailyTask task)
 {
     lock (_manager_lock)
     {
         if (!task.Title.IsNullOrWhiteSpace() || (task.TaskItems != null && task.TaskItems.Count > 0))
         {
             if (TaskGroups.SingleOrDefault(p => p.GroupId.Equals(group.GroupId)) == null)
             {
                 AddGroup(group);
             }
             group.DailyTasks.Insert(0, task);
             task.GroupId = group.GroupId;
             OnTaskListChanged(task, TaskChangedType.Insert);
             return(true);
         }
         return(false);
     }
 }
Exemplo n.º 11
0
        /// <summary>
        /// returns null if TaskView is not found
        /// </summary>
        /// <param name="node"></param>
        /// <param name="dueDate">DueDate is available from MapNode (first parameter) also. But it is important to pass it separately as TaskList might be out of order, in such a case old value can be provided in dueDate parameter</param>
        /// <returns>returns null if not found</returns>
        public TaskView FindTaskView(MapNode node, DateTime dueDate)
        {
            if (!todayDate.Equals(DateTime.Today))
            {
                RefreshTaskList();
            }

            for (int i = 0; i < this.ControlGroups.Count; i++)
            {
                ControlGroup ctrlGroup = this.ControlGroups[i];
                ITaskGroup   taskGroup = (ITaskGroup)ctrlGroup.Tag;
                if (taskGroup.CanContain(dueDate))
                {
                    return(FindTaskViewInGroup(ctrlGroup, node, dueDate));
                }
            }

            return(null);
        }
Exemplo n.º 12
0
 public void Merge(ITaskGroup <TaskResultT, ITaskItem <TaskResultT> > parentTaskGroup)
 {
     DAG.Merge(parentTaskGroup.DAG);
 }
Exemplo n.º 13
0
        public IDataProviderResultBase SetData(IDataSourceConfiguration configuration, ITaskGroup tasks)
        {
            IDataProividerResultTasksBase result = new DataProviderResultTasks();

            if (!configuration.IsValid())
            {
                result.sucess = false;
                return(result);
            }

            try
            {
                if (configuration.AddTask)
                {
                    result = AddTaskToTasks(configuration.Task, tasks);
                }

                if (configuration.DeliteTask)
                {
                    result = RemoveTaskFromTasks(configuration.Task, tasks);
                }

                if (configuration.SetTask)
                {
                    result = SetTaskStatusInTasks(configuration.Task, tasks);
                }


                result        = WriteTasksToFile(configuration, result.data);
                result.sucess = true;
            }
            catch (Exception error)
            {
                result.sucess = false;
                result.error  = error.Message;
                return(result);
            }
            return(result);
        }
Exemplo n.º 14
0
        private IDataProividerResultTasksBase WriteTasksToFile(IDataSourceConfiguration configuration, ITaskGroup tasks)
        {
            IDataProividerResultTasksBase result = new DataProviderResultTasks();

            IsConfigurationValid(configuration);
            try
            {
                using (StreamWriter r = new StreamWriter(configuration.File.File))
                {
                    string data = JsonConvert.SerializeObject(tasks);
                    r.Write(data);
                }
                result.data = tasks;
            }
            catch (Exception error)
            {
                result.sucess = false;
                result.error  = error.Message;
            }
            return(result);
        }