public GDataTypes.GDataContactEntrys CreateContactEntrys(ContactsFeed contactEntrys) { var _gDataContactEntrys = new GDataTypes.GDataContactEntrys(); foreach (ContactEntry _contactEntry in contactEntrys.Entries) { var _gDataContactEntry = new GDataTypes.GDataContactEntry(); _gDataContactEntry.Name = _contactEntry.Title.Text; foreach (var _emailEntry in _contactEntry.Emails) { if (_emailEntry.Work == true) { _gDataContactEntry.Email = _emailEntry.Address; } } foreach (var _phoneNumberEntry in _contactEntry.Phonenumbers) { if (_phoneNumberEntry.Rel == ContactsRelationships.IsWork) { _gDataContactEntry.PhoneNumber = _phoneNumberEntry.Value; } if (_phoneNumberEntry.Rel == ContactsRelationships.IsHome) { _gDataContactEntry.HomePhoneNumber = _phoneNumberEntry.Value; } if (_phoneNumberEntry.Rel == ContactsRelationships.IsMobile) { _gDataContactEntry.MobilePhoneNumber = _phoneNumberEntry.Value; } if (_phoneNumberEntry.Rel == ContactsRelationships.IsOther) { _gDataContactEntry.OtherPhoneNumber = _phoneNumberEntry.Value; } } foreach (var _postaAddressEntry in _contactEntry.PostalAddresses) { if (_postaAddressEntry.Rel == ContactsRelationships.IsWork) { _gDataContactEntry.PostalAddress = _postaAddressEntry.FormattedAddress; } if (_postaAddressEntry.Rel == ContactsRelationships.IsHome) { _gDataContactEntry.HomeAddress = _postaAddressEntry.FormattedAddress; } } _gDataContactEntry.SelfUri = _contactEntry.SelfUri.ToString(); _gDataContactEntrys.Add(_gDataContactEntry); } return _gDataContactEntrys; }
protected override void ProcessRecord() { var _domain = dgcGoogleContactsService.GetDomain(service.ContactsService); try { if (selfUri != null) { var _query = new ContactsQuery(ContactsQuery.CreateContactsUri(_domain)); var _feed = service.ContactsService.Query(_query); foreach (ContactEntry _entry in _feed.Entries) { if (_entry.SelfUri.Content == selfUri) { var _contactEntry = dgcGoogleContactsService.CreateContactEntry(_entry); WriteObject(_contactEntry); } } } else if (name != null) { var _query = new ContactsQuery(ContactsQuery.CreateContactsUri(_domain)); var _feed = service.OauthContactsService.Query(_query); var _contactsEntrys = new GDataTypes.GDataContactEntrys(); foreach (ContactEntry _entry in _feed.Entries) { if (_entry.Title.Text != null) { if (System.Text.RegularExpressions.Regex.IsMatch(_entry.Title.Text, name)) { var _contactEntry = dgcGoogleContactsService.CreateContactEntry(_entry); _contactsEntrys = dgcGoogleContactsService.AppendContactEntrys(_entry, _contactsEntrys); } } } WriteObject(_contactsEntrys, true); } else { var _query = new ContactsQuery(ContactsQuery.CreateContactsUri(_domain)); var _feed = service.ContactsService.Query(_query); var _contactEntrys = dgcGoogleContactsService.CreateContactEntrys(_feed); WriteObject(_contactEntrys, true); } } catch (Exception _exception) { WriteObject(_exception); } }