コード例 #1
0
ファイル: Category.cs プロジェクト: Jay1127/GoogleTaskDesktop
        /// <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));
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
ファイル: Category.cs プロジェクト: Jay1127/GoogleTaskDesktop
        /// <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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
ファイル: Category.cs プロジェクト: Jay1127/GoogleTaskDesktop
        /// <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));
        }
コード例 #6
0
        /// <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);
        }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
        /// <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());
            }
        }
コード例 #9
0
ファイル: Category.cs プロジェクト: Jay1127/GoogleTaskDesktop
        /// <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);
        }
コード例 #10
0
ファイル: Category.cs プロジェクト: Jay1127/GoogleTaskDesktop
        /// <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)));
                }));
            }
        }