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); }
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); } }
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); }
//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(); }
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(); }
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); }
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); }