コード例 #1
0
ファイル: GoogleSyncTest.cs プロジェクト: jango2015/cooper
        private GoogleTask CreateGoogleTask(string subject, string body, DateTime dueTime, bool isCompleted)
        {
            var token                  = GetGoogleUserToken();
            var googleTaskService      = _externalServiceProvider.GetGoogleTaskService(token);
            var isDefaultTaskListExist = false;
            var taskList               = DependencyResolver.Resolve <IGoogleTaskSyncDataService>().GetDefaultTaskList(token, out isDefaultTaskListExist);

            var task = new GoogleTask();

            task.Title = subject;
            task.Notes = body;

            var dueTimeUtcFormat = new DateTime(dueTime.Year, dueTime.Month, dueTime.Day, 0, 0, 0, DateTimeKind.Utc);

            task.Due = Rfc3339DateTime.ToString(dueTimeUtcFormat);

            if (isCompleted)
            {
                task.Status = "completed";
            }
            else
            {
                task.Status = "needsAction";
            }

            task = googleTaskService.Tasks.Insert(task, taskList.Id).Fetch();

            return(task);
        }
コード例 #2
0
        /// <summary>
        /// 创建Google Task
        /// </summary>
        private void CreateGoogleTask(GoogleTaskSyncData taskData, TasksService googleTaskService, TaskList defaultTaskList)
        {
            global::Google.Apis.Tasks.v1.Data.Task googleTask = null;
            bool success = false;

            try
            {
                //创建Google Task
                googleTask = googleTaskService.Tasks.Insert(taskData.GoogleTask, defaultTaskList.Id).Fetch();
                _logger.InfoFormat("新增Google任务#{0}|{1}|{2}", googleTask.Id, googleTask.Title, _account.ID);
                success = true;
            }
            catch (Exception ex)
            {
                _logger.Error("CreateGoogleTask has exception.", ex);
            }

            if (success)
            {
                //更新任务最后更新时间,确保与Google Task的最后更新时间一致
                UpdateTaskLastUpdateTime(long.Parse(taskData.SyncId), Rfc3339DateTime.Parse(googleTask.Updated).ToLocalTime());

                //创建同步信息
                if (defaultTaskList.Title == GoogleSyncSettings.DefaultTaskListName)
                {
                    SyncInfo syncInfo = new SyncInfo();
                    syncInfo.AccountId    = _account.ID;
                    syncInfo.LocalDataId  = taskData.SyncId;
                    syncInfo.SyncDataId   = googleTask.Id;
                    syncInfo.SyncDataType = taskData.SyncType;
                    InsertSyncInfo(syncInfo);
                }
            }
        }
コード例 #3
0
ファイル: GoogleSyncTest.cs プロジェクト: jango2015/cooper
        private void AssertTaskAndGoogleTaskAreEqual(CooperTask cooperTask, GoogleTask googleTask)
        {
            MicrosoftAssert.AreEqual(cooperTask.Subject, googleTask.Title);
            MicrosoftAssert.AreEqual(cooperTask.Body, googleTask.Notes);
            var dueDate = Rfc3339DateTime.Parse(googleTask.Due);

            MicrosoftAssert.AreEqual(cooperTask.DueTime, new DateTime(dueDate.Year, dueDate.Month, dueDate.Day));
            if (cooperTask.IsCompleted)
            {
                MicrosoftAssert.AreEqual("completed", googleTask.Status);
            }
            else
            {
                MicrosoftAssert.AreEqual("needsAction", googleTask.Status);
            }

            var lastUpdateTime = Rfc3339DateTime.Parse(googleTask.Updated).ToLocalTime();

            MicrosoftAssert.AreEqual(FormatTime(cooperTask.LastUpdateTime), FormatTime(lastUpdateTime));
        }
コード例 #4
0
        private GoogleTask CreateGoogleTask(string subject, string body, DateTime dueTime, bool isCompleted)
        {
            var token = GetGoogleUserToken();
            var googleTaskService = _externalServiceProvider.GetGoogleTaskService(token);
            var isDefaultTaskListExist = false;
            var taskList = DependencyResolver.Resolve<IGoogleTaskSyncDataService>().GetDefaultTaskList(token, out isDefaultTaskListExist);

            var task = new GoogleTask();

            task.Title = subject;
            task.Notes = body;

            var dueTimeUtcFormat = new DateTime(dueTime.Year, dueTime.Month, dueTime.Day, 0, 0, 0, DateTimeKind.Utc);
            task.Due = Rfc3339DateTime.ToString(dueTimeUtcFormat);

            if (isCompleted)
            {
                task.Status = "completed";
            }
            else
            {
                task.Status = "needsAction";
            }

            task = googleTaskService.Tasks.Insert(task, taskList.Id).Fetch();

            return task;
        }
コード例 #5
0
        private void AssertTaskAndGoogleTaskAreEqual(CooperTask cooperTask, GoogleTask googleTask)
        {
            MicrosoftAssert.AreEqual(cooperTask.Subject, googleTask.Title);
            MicrosoftAssert.AreEqual(cooperTask.Body, googleTask.Notes);
            var dueDate = Rfc3339DateTime.Parse(googleTask.Due);
            MicrosoftAssert.AreEqual(cooperTask.DueTime, new DateTime(dueDate.Year, dueDate.Month, dueDate.Day));
            if (cooperTask.IsCompleted)
            {
                MicrosoftAssert.AreEqual("completed", googleTask.Status);
            }
            else
            {
                MicrosoftAssert.AreEqual("needsAction", googleTask.Status);
            }

            var lastUpdateTime = Rfc3339DateTime.Parse(googleTask.Updated).ToLocalTime();
            MicrosoftAssert.AreEqual(FormatTime(cooperTask.LastUpdateTime), FormatTime(lastUpdateTime));
        }