private void AddCompany(Contact googleContact, WorkContact contact) { Organization organisation = new Organization(); organisation.Name = "TPP"; organisation.Rel = "http://schemas.google.com/g/2005#other"; organisation.JobDescription = contact.Group.ToString(); googleContact.Organizations.Add(organisation); }
public static void SetCompanies(Outlook.ContactItem source, ContactEntry destination) { if (!string.IsNullOrEmpty(source.Companies)) { //Companies are expected to be in form of "[Company]; [Company]". string[] companiesRaw = source.Companies.Split(';'); foreach (string companyRaw in companiesRaw) { Organization company = new Organization(); company.Name = companyRaw.Trim(); company.Primary = destination.Organizations.Count == 0; company.Rel = ContactsRelationships.IsWork; destination.Organizations.Add(company); } } if (destination.Organizations.Count == 0 && !string.IsNullOrEmpty(source.CompanyName)) { Organization company = new Organization(); company.Name = source.CompanyName; company.Primary = true; company.Rel = ContactsRelationships.IsWork; destination.Organizations.Add(company); } }
///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// /// <summary>creates a new, in memory atom entry</summary> /// <returns>the new AtomEntry </returns> ////////////////////////////////////////////////////////////////////// public static ContactEntry CreateContactEntry(int iCount) { ContactEntry entry = new ContactEntry(); // some unicode chars Char[] chars = new Char[] { '\u0023', // # '\u0025', // % '\u03a0', // Pi '\u03a3', // Sigma '\u03d1', // beta }; // if unicode needs to be disabled for testing, just uncomment this line // chars = new Char[] { 'a', 'b', 'c', 'd', 'e'}; AtomPerson author = new AtomPerson(AtomPersonType.Author); author.Name = "John Doe" + chars[0] + chars[1] + chars[2] + chars[3]; author.Email = "*****@*****.**"; entry.Authors.Add(author); entry.Content.Content = "this is the default note for a contact entry"; entry.Published = new DateTime(2001, 11, 20, 22, 30, 0); entry.Title.Text = "This is a contact number: " + iCount; entry.Updated = DateTime.Now; // add an email. EMail email = new EMail("*****@*****.**" + Guid.NewGuid().ToString()); email.Primary = true; email.Rel = ContactsRelationships.IsWork; entry.Emails.Add(email); email = new EMail("*****@*****.**" + Guid.NewGuid().ToString()); email.Label = "some email"; entry.Emails.Add(email); IMAddress im = new IMAddress("*****@*****.**"); im.Primary = true; im.Rel = ContactsRelationships.IsWork; entry.IMs.Add(im); im = new IMAddress("*****@*****.**"); im.Rel = ContactsRelationships.IsHome; PhoneNumber p = new PhoneNumber("123-3453457"); p.Primary = true; p.Rel = ContactsRelationships.IsWork; entry.Phonenumbers.Add(p); p = new PhoneNumber("123-3334445"); p.Label = "some other thing"; entry.Phonenumbers.Add(p); PostalAddress pa = new PostalAddress("This is the address"); pa.Primary = true; pa.Rel = ContactsRelationships.IsHome; entry.PostalAddresses.Add(pa); Organization org = new Organization(); org.Name = "This Test Org.Com"; org.Title = "Junior guy"; org.Label = "volunteer stuff"; entry.Organizations.Add(org); return entry; }
public static void SetCompanies(Outlook.ContactItem source, Contact destination) { destination.Organizations.Clear(); if (!string.IsNullOrEmpty(source.Companies)) { //Companies are expected to be in form of "[Company]; [Company]". string[] companiesRaw = source.Companies.Split(';'); foreach (string companyRaw in companiesRaw) { Organization company = new Organization(); company.Name = (destination.Organizations.Count == 0) ? source.CompanyName : null; company.Title = (destination.Organizations.Count == 0)? source.JobTitle : null; company.Department = (destination.Organizations.Count == 0) ? source.Department : null; company.Primary = destination.Organizations.Count == 0; company.Rel = ContactsRelationships.IsWork; destination.Organizations.Add(company); } } if (destination.Organizations.Count == 0 && (!string.IsNullOrEmpty(source.CompanyName) || !string.IsNullOrEmpty(source.JobTitle) || !string.IsNullOrEmpty(source.Department))) { Organization company = new Organization(); company.Name = source.CompanyName; company.Title = source.JobTitle; company.Department = source.Department; company.Primary = true; company.Rel = ContactsRelationships.IsWork; destination.Organizations.Add(company); } }
/// <summary> /// Merges the specified organizations. /// </summary> /// <param name="organizations">The organizations.</param> /// <param name="organization">The organization.</param> /// <returns>True if Changed.</returns> public static bool Merge(this ExtensionCollection<Organization> organizations, Organization organization) { if ((!string.IsNullOrWhiteSpace(organization.Name) || !string.IsNullOrWhiteSpace(organization.Department))) { var result = false; if (organizations.Any(e => e.Name == organization.Name)) { var org = organizations.First(e => e.Name == organization.Name); result |= org.ApplyProperty(o => o.Department, organization.Department); result |= org.ApplyProperty(o => o.Title, organization.Title); } else { organizations.Add(organization); result = true; } if (organizations.Any() && !organizations.Any(e => e.Primary)) { organizations.First().Primary = true; } return result; } return false; }
private void UpdateContactDataFromOutlook(ContactItem oContact, Contact gContact) { var BusinessAddressQuery = gContact.PostalAddresses.Where(a => a.Work); if (BusinessAddressQuery.Count() > 0) { gContact.PostalAddresses.Remove(BusinessAddressQuery.First()); } if (oContact.BusinessAddress != null) { PostalAddress BusinessAddress = new PostalAddress(); BusinessAddress.Rel = ContactsRelationships.IsWork; BusinessAddress.Value = oContact.BusinessAddress; gContact.PostalAddresses.Add(BusinessAddress); } var HomeAddressQuery = gContact.PostalAddresses.Where(a => a.Home); if (HomeAddressQuery.Count() > 0) { gContact.PostalAddresses.Remove(HomeAddressQuery.First()); } if (oContact.HomeAddress != null) { PostalAddress HomeAddress = new PostalAddress(); HomeAddress.Rel = ContactsRelationships.IsHome; HomeAddress.Value = oContact.HomeAddress; gContact.PostalAddresses.Add(HomeAddress); } gContact.Emails.Clear(); if (oContact.Email1Address != null) { EMail email = new EMail(oContact.Email1Address); email.Rel = ContactsRelationships.IsOther; gContact.Emails.Add(email); } if (oContact.Email2Address != null) { EMail email = new EMail(oContact.Email2Address); email.Rel = ContactsRelationships.IsOther; gContact.Emails.Add(email); } if (oContact.Email3Address != null) { EMail email = new EMail(oContact.Email3Address); email.Rel = ContactsRelationships.IsOther; gContact.Emails.Add(email); } gContact.Title = oContact.FullName; var BusinessPhoneQuery = gContact.Phonenumbers.Where(a => a.Rel == ContactsRelationships.IsWork); if (BusinessPhoneQuery.Count() > 0) { gContact.Phonenumbers.Remove(BusinessPhoneQuery.First()); } if (oContact.BusinessTelephoneNumber != null) { PhoneNumber BusinessPhone = new PhoneNumber(); BusinessPhone.Rel = ContactsRelationships.IsWork; BusinessPhone.Value = oContact.BusinessTelephoneNumber; gContact.Phonenumbers.Add(BusinessPhone); } var HomePhoneQuery = gContact.Phonenumbers.Where(a => a.Rel == ContactsRelationships.IsHome); if (HomePhoneQuery.Count() > 0) { gContact.Phonenumbers.Remove(HomePhoneQuery.First()); } if (oContact.HomeTelephoneNumber != null) { PhoneNumber HomePhone = new PhoneNumber(); HomePhone.Rel = ContactsRelationships.IsHome; HomePhone.Value = oContact.HomeTelephoneNumber; gContact.Phonenumbers.Add(HomePhone); } var MobilePhoneQuery = gContact.Phonenumbers.Where(a => a.Rel == ContactsRelationships.IsMobile); if (MobilePhoneQuery.Count() > 0) { gContact.Phonenumbers.Remove(MobilePhoneQuery.First()); } if (oContact.MobileTelephoneNumber != null) { PhoneNumber MobilePhone = new PhoneNumber(); MobilePhone.Rel = ContactsRelationships.IsMobile; MobilePhone.Value = oContact.MobileTelephoneNumber; gContact.Phonenumbers.Add(MobilePhone); } var BusinessFaxQuery = gContact.Phonenumbers.Where(a => a.Rel == ContactsRelationships.IsWorkFax); if (BusinessFaxQuery.Count() > 0) { gContact.Phonenumbers.Remove(BusinessFaxQuery.First()); } if (oContact.BusinessFaxNumber != null) { PhoneNumber BusinessFaxPhone = new PhoneNumber(); BusinessFaxPhone.Rel = ContactsRelationships.IsWorkFax; BusinessFaxPhone.Value = oContact.BusinessFaxNumber; gContact.Phonenumbers.Add(BusinessFaxPhone); } var HomeFaxQuery = gContact.Phonenumbers.Where(a => a.Rel == ContactsRelationships.IsHomeFax); if (HomeFaxQuery.Count() > 0) { gContact.Phonenumbers.Remove(HomeFaxQuery.First()); } if (oContact.HomeFaxNumber != null) { PhoneNumber HomeFaxPhone = new PhoneNumber(); HomeFaxPhone.Rel = ContactsRelationships.IsHomeFax; HomeFaxPhone.Value = oContact.HomeFaxNumber; gContact.Phonenumbers.Add(HomeFaxPhone); } gContact.Organizations.Clear(); if (oContact.CompanyName != null) { Organization org = new Organization(); org.Name = oContact.CompanyName; org.Rel = ContactsRelationships.IsWork; if (oContact.JobTitle != null) org.Title = oContact.JobTitle; gContact.Organizations.Add(org); } else gContact.Organizations.Clear(); gContact.Title = oContact.FullName; }