Exemplo n.º 1
0
        /// <summary>
        /// 删除Google Contact
        /// </summary>
        private void DeleteGoogleContact(GoogleContactSyncData contactData, ContactsRequest contactRequest)
        {
            bool success = false;

            try
            {
                ReplaceContactEditUrl(contactData.Contact);
                contactRequest.Delete(contactData.Contact);
                _logger.InfoFormat("删除Google联系人#{0}|{1}|{2}", contactData.Id, contactData.Subject, _account.ID);
                success = true;
            }
            catch (Exception ex)
            {
                _logger.Error("DeleteGoogleContact has exception.", ex);
            }

            if (success)
            {
                //删除同步信息
                SyncInfo syncInfo = new SyncInfo();
                syncInfo.AccountId    = _account.ID;
                syncInfo.LocalDataId  = contactData.SyncId;
                syncInfo.SyncDataId   = contactData.Id;
                syncInfo.SyncDataType = contactData.SyncType;
                DeleteSyncInfo(syncInfo);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// 更新Google Contact
 /// </summary>
 private void UpdateGoogleContact(GoogleContactSyncData contactData, ContactsRequest contactRequest)
 {
     try
     {
         ReplaceContactEditUrl(contactData.Contact);
         var updatedContact = contactRequest.Update(contactData.Contact);
         _logger.InfoFormat("更新Google联系人#{0}|{1}|{2}", contactData.Id, contactData.Subject, _account.ID);
         UpdateContactLastUpdateTime(int.Parse(contactData.SyncId), updatedContact.Updated.ToLocalTime());
     }
     catch (Exception ex)
     {
         _logger.Error("UpdateGoogleContact has exception.", ex);
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// 创建Google Contact
        /// </summary>
        private void CreateGoogleContact(GoogleContactSyncData contactData, ContactsRequest contactRequest, Group defaultContactGroup)
        {
            global::Google.Contacts.Contact contact = null;
            bool success = false;

            try
            {
                //设置联系人默认分组
                contactData.Contact.GroupMembership.Add(new GroupMembership()
                {
                    HRef = defaultContactGroup.Id
                });
                //调用API新增联系人
                contact = contactRequest.Insert(new Uri(GoogleSyncSettings.ContactScope), contactData.Contact);
                _logger.InfoFormat("新增Google联系人#{0}|{1}|{2}", contact.Id, contactData.Subject, _account.ID);
                success = true;
            }
            catch (Exception ex)
            {
                _logger.Error("CreateGoogleContact has exception.", ex);
            }

            if (success)
            {
                //更新联系人最后更新时间,确保与Google Contact的最后更新时间一致
                UpdateContactLastUpdateTime(int.Parse(contactData.SyncId), contact.Updated.ToLocalTime());

                //创建同步信息
                SyncInfo syncInfo = new SyncInfo();
                syncInfo.AccountId    = _account.ID;
                syncInfo.LocalDataId  = contactData.SyncId;
                syncInfo.SyncDataId   = contact.Id;
                syncInfo.SyncDataType = contactData.SyncType;
                InsertSyncInfo(syncInfo);
            }
        }
Exemplo n.º 4
0
 /// <summary>
 /// 更新Google Contact
 /// </summary>
 private void UpdateGoogleContact(GoogleContactSyncData contactData, ContactsRequest contactRequest)
 {
     try
     {
         ReplaceContactEditUrl(contactData.Contact);
         var updatedContact = contactRequest.Update(contactData.Contact);
         _logger.InfoFormat("更新Google联系人#{0}|{1}|{2}", contactData.Id, contactData.Subject, _account.ID);
         UpdateContactLastUpdateTime(int.Parse(contactData.SyncId), updatedContact.Updated.ToLocalTime());
     }
     catch (Exception ex)
     {
         _logger.Error("UpdateGoogleContact has exception.", ex);
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// 删除Google Contact
        /// </summary>
        private void DeleteGoogleContact(GoogleContactSyncData contactData, ContactsRequest contactRequest)
        {
            bool success = false;

            try
            {
                ReplaceContactEditUrl(contactData.Contact);
                contactRequest.Delete(contactData.Contact);
                _logger.InfoFormat("删除Google联系人#{0}|{1}|{2}", contactData.Id, contactData.Subject, _account.ID);
                success = true;
            }
            catch (Exception ex)
            {
                _logger.Error("DeleteGoogleContact has exception.", ex);
            }

            if (success)
            {
                //删除同步信息
                SyncInfo syncInfo = new SyncInfo();
                syncInfo.AccountId = _account.ID;
                syncInfo.LocalDataId = contactData.SyncId;
                syncInfo.SyncDataId = contactData.Id;
                syncInfo.SyncDataType = contactData.SyncType;
                DeleteSyncInfo(syncInfo);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 创建Google Contact
        /// </summary>
        private void CreateGoogleContact(GoogleContactSyncData contactData, ContactsRequest contactRequest, Group defaultContactGroup)
        {
            global::Google.Contacts.Contact contact = null;
            bool success = false;

            try
            {
                //设置联系人默认分组
                contactData.Contact.GroupMembership.Add(new GroupMembership() { HRef = defaultContactGroup.Id });
                //调用API新增联系人
                contact = contactRequest.Insert(new Uri(GoogleSyncSettings.ContactScope), contactData.Contact);
                _logger.InfoFormat("新增Google联系人#{0}|{1}|{2}", contact.Id, contactData.Subject, _account.ID);
                success = true;
            }
            catch (Exception ex)
            {
                _logger.Error("CreateGoogleContact has exception.", ex);
            }

            if (success)
            {
                //更新联系人最后更新时间,确保与Google Contact的最后更新时间一致
                UpdateContactLastUpdateTime(int.Parse(contactData.SyncId), contact.Updated.ToLocalTime());

                //创建同步信息
                SyncInfo syncInfo = new SyncInfo();
                syncInfo.AccountId = _account.ID;
                syncInfo.LocalDataId = contactData.SyncId;
                syncInfo.SyncDataId = contact.Id;
                syncInfo.SyncDataType = contactData.SyncType;
                InsertSyncInfo(syncInfo);
            }
        }