Esempio n. 1
0
        private static void InsertTask(Data.TaskList taskList, Data.Task task)
        {
            var gtask = new Task();

            gtask.Title     = task.Title;
            gtask.Status    = task.DoneDate.HasValue ? "completed" : "needsAction";
            gtask.Completed = task.DoneDate.HasValue ? System.Xml.XmlConvert.ToString(task.DoneDate.Value, XmlDateTimeSerializationMode.Utc) : null;
            gtask.Due       = task.DueDate.HasValue ? System.Xml.XmlConvert.ToString(task.DueDate.Value, XmlDateTimeSerializationMode.Utc) : null;
            gtask.Notes     = task.Notes;

            var req = Service.Tasks.Insert(gtask, taskList.Id);


            if (task.PreviousId != "")
            {
                req.Previous = TasksReferenceManager.GetGoogleTaskId(taskList.Title, task.PreviousId);
            }
            if (task.ParentId != "")
            {
                req.Parent = TasksReferenceManager.GetGoogleTaskId(taskList.Title, task.ParentId);
            }

            var googleTaskId = req.Fetch().Id;

            TasksReferenceManager.AddNewReference(taskList.Title, task.Id, googleTaskId);
        }
Esempio n. 2
0
        public static void SubmitLocalTaskChanges(Data.TaskList taskList, TaskChanges localchanges)
        {
            foreach (var change in localchanges)
            {
                switch (change.TaskChangeType)
                {
                case TaskChangeType.None:
                    break;

                case TaskChangeType.Create:
                    InsertTask(taskList, change.NewTask);
                    break;

                case TaskChangeType.Change:
                    UpdateTask(taskList, change.NewTask);
                    break;

                case TaskChangeType.ChangeAndMove:
                    UpdateTask(taskList, change.NewTask);
                    MoveTask(taskList, change.NewTask);
                    break;

                case TaskChangeType.Delete:
                    DeleteTask(taskList, change.Id);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
            if (localchanges.Count > 0)
            {
                TasksReferenceManager.SaveReferencesToXml(taskList.Title);
            }
        }
Esempio n. 3
0
        private static void DeleteTask(Data.TaskList taskList, string taskId)
        {
            var googleTaskId = TasksReferenceManager.GetGoogleTaskId(taskList.Title, taskId);

            if (googleTaskId == "")
            {
                return;
            }

            Service.Tasks.Delete(taskList.Id, googleTaskId).Fetch();
            TasksReferenceManager.RemoveReference(taskList.Title, taskId, googleTaskId);
        }
Esempio n. 4
0
        //try
        //{
        //    request.Fetch();
        //    CommandLine.WriteResult("Result", "Success!");
        //}
        //catch (GoogleApiRequestException ex)
        //{
        //    CommandLine.WriteResult(
        //        "Result", "Failure! (" + ex.RequestError.Code + " - " + ex.RequestError.Message + ")");
        //}

        private static void MoveTask(Data.TaskList taskList, Data.Task task)
        {
            var googleTaskId = TasksReferenceManager.GetGoogleTaskId(taskList.Title, task.Id);

            if (googleTaskId == "")
            {
                return;
            }

            var req = Service.Tasks.Move(taskList.Id, googleTaskId);

            req.Previous = TasksReferenceManager.GetGoogleTaskId(taskList.Title, task.PreviousId);
            req.Parent   = TasksReferenceManager.GetGoogleTaskId(taskList.Title, task.ParentId);

            req.Fetch();
        }
Esempio n. 5
0
        private static void UpdateTask(Data.TaskList taskList, Data.Task task)
        {
            var googleTaskId = TasksReferenceManager.GetGoogleTaskId(taskList.Title, task.Id);

            if (googleTaskId == "")
            {
                return;
            }

            Task gtask = Service.Tasks.Get(taskList.Id, googleTaskId).Fetch();

            gtask.Title     = task.Title;
            gtask.Status    = task.DoneDate.HasValue ? "completed" : "needsAction";
            gtask.Completed = task.DoneDate.HasValue ? System.Xml.XmlConvert.ToString(task.DoneDate.Value, XmlDateTimeSerializationMode.Utc) : null;
            gtask.Due       = task.DueDate.HasValue ? System.Xml.XmlConvert.ToString(task.DueDate.Value, XmlDateTimeSerializationMode.Utc) : null;
            gtask.Notes     = task.Notes;


            Service.Tasks.Update(gtask, taskList.Id, googleTaskId).Fetch();
        }
Esempio n. 6
0
        public static List <Data.TaskList> LoadLists(string listTitle = "")
        {
            var lists = new List <Data.TaskList>();
            var req   = Service.Tasklists.List();

            foreach (TaskList list in req.Fetch().Items)
            {
                if (listTitle.Equals("") || list.Title.Trim().Equals(listTitle, StringComparison.OrdinalIgnoreCase))
                {
                    var allTasks = new List <Data.Task>();
                    var datalist = new Data.TaskList();

                    datalist.Title    = list.Title.Trim();
                    datalist.Id       = list.Id;
                    datalist.SelfLink = list.SelfLink;
                    datalist.Updated  = datalist.Updated;

                    lists.Add(datalist);
                }
            }
            return(lists);
        }
Esempio n. 7
0
        public static void LoadTasks(Data.TaskList taskList)
        {
            var    allTasks  = new List <Data.Task>();
            var    req       = Service.Tasks.List(taskList.Id);
            string pageToken = "1";

            do
            {
                req.PageToken = pageToken;
                var res   = req.Fetch();
                var tasks = res.Items;

                if (tasks != null)
                {
                    AddTasksToListObject(allTasks, tasks);
                }

                pageToken = res.NextPageToken;
            } while (pageToken != null);

            DataHelper.AddParentTasks(taskList, allTasks);
            DataHelper.AddChildTasks(taskList, allTasks);
            DataHelper.AddTopTasks(taskList, allTasks);
        }