/// <summary> /// 카테고리 내에서 해당 할일 삭제 /// </summary> /// <param name="taskItem"></param> public async System.Threading.Tasks.Task RemoveTaskAsync(string taskId) { var service = new GoogleTaskService(); await service.DeleteTaskAsync(taskId, Id); _tasks.Remove(FindTask(taskId)); }
/// <summary> /// 카테고리 삭제 /// </summary> /// <param name="categoryId"></param> /// <returns></returns> public async System.Threading.Tasks.Task RemoveCategoryAsync(string categoryId) { var taskList = FindCategory(categoryId); var service = new GoogleTaskService(); await service.DeleteTaskListAsync(categoryId); _categories.Remove(taskList); }
/// <summary> /// 해당 할일목록을 추가 /// </summary> /// <param name="taskItem"></param> /// <returns></returns> public async System.Threading.Tasks.Task AddTaskAsync(TaskItem taskItem) { var task = taskItem.ToTask(); var service = new GoogleTaskService(); var newTasks = await service.InsertTaskAsync(task, Id); _tasks.Add(taskItem); }
/// <summary> /// 카테고리 업데이트 /// </summary> /// <param name="category"></param> /// <returns></returns> public async System.Threading.Tasks.Task UpdateCategoryAsync(Category category) { var service = new GoogleTaskService(); var newTaskList = await service.UpdateTaskListAsync(category.ToTaskList()); var index = _categories.FindIndex(t => t.Id == category.Id); _categories[index] = new Category(newTaskList.Id, newTaskList.Title); }
/// <summary> /// 해당 할일 데이터 업데이트 /// </summary> /// <param name="taskItem"></param> /// <returns></returns> public async System.Threading.Tasks.Task UpdateTaskAsync(TaskItem taskItem) { var service = new GoogleTaskService(); var newTask = await service.UpdateTaskAsync(taskItem.ToTask(), Id); var index = _tasks.FindIndex(t => t.Id == newTask.Id); _tasks[index] = new TaskItem(Id, newTask.Id, newTask.Title, GoogleTaskStatus.CheckIsCompleted(newTask.Status)); }
/// <summary> /// 카테고리 추가 /// </summary> /// <param name="category"></param> public async System.Threading.Tasks.Task AddCategoryAsync(Category category) { // 처음 생성하는 경우 ID를 부여안함. // ID는 서버에서 자동으로 부여함.(미리 부여하면 에러발생함.) var service = new GoogleTaskService(); var newTaskList = await service.InsertTaskListAsync(new TaskList() { Title = category.Title }); _categories.Add(category); }
/// <summary> /// 해당 카테고리명으로 카테고리를 생성하여 추가함. /// </summary> /// <param name="title"></param> /// <returns></returns> public async System.Threading.Tasks.Task <Category> WithTaskListItemAsync(string title) { var service = new GoogleTaskService(); var newTaskList = await service.InsertTaskListAsync(new TaskList() { Title = title }); var taskListItem = new Category(newTaskList.Id, newTaskList.Title); _categories.Add(taskListItem); return(taskListItem); }
/// <summary> /// 서버에서 카테고리 로드 /// </summary> /// <returns></returns> public async System.Threading.Tasks.Task LoadAsync() { var service = new GoogleTaskService(); var taskLists = (await service.GetTaskListsAsync()).Items; _categories.AddRange(taskLists.Select(t => new Category(t.Id, t.Title))); foreach (var category in _categories) { await category.LoadAsync(); _tasks.AddRange(category.GetTasks()); } }
/// <summary> /// 해당 제목으로 할일 목록을 생성해서 추가함. /// </summary> /// <param name="title"></param> /// <returns></returns> public async System.Threading.Tasks.Task <TaskItem> WithTaskItemAsync(string title) { var service = new GoogleTaskService(); var newTask = await service.InsertTaskAsync(new Task() { Title = title }, Id); var taskItem = new TaskItem(Id, newTask.Id, newTask.Title); _tasks.Add(taskItem); return(taskItem); }
/// <summary> /// 서버에서 할일리스트 로드 /// </summary> /// <returns></returns> public async System.Threading.Tasks.Task LoadAsync() { var service = new GoogleTaskService(); var tasks = (await service.GetTasksAsync(Id)).Items; if (tasks != null) { _tasks.AddRange( tasks.Select(task => { return(new TaskItem(Id, task.Id, task.Title, GoogleTaskStatus.CheckIsCompleted(task.Status))); })); } }