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