コード例 #1
0
ファイル: Program.cs プロジェクト: haoguanjun/MySamples
        private static void Sample()
        {
            ExchangeService service = new ExchangeService();

            service.Url                = new Uri("https://{exchangeserver}/EWS/Exchange.asmx");
            service.Credentials        = new WebCredentials("ProxyUser", "ProxyUserPassword");
            service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "TargetUser");

            Contact contact = new Contact(service);

            contact.GivenName     = "John";
            contact.Surname       = "Doe";
            contact.FileAsMapping = FileAsMapping.SurnameCommaGivenName;

            // Specify the business address.
            PhysicalAddressEntry address = new PhysicalAddressEntry();

            address.Street          = "600 Townsend";
            address.City            = "SF";
            address.State           = "CA";
            address.PostalCode      = "94103";
            address.CountryOrRegion = "United States";
            contact.PhysicalAddresses[PhysicalAddressKey.Business] = address;

            // Make Business Address as Postal Address
            contact.PostalAddressIndex = PhysicalAddressIndex.Business;
            contact.Save();
        }
コード例 #2
0
        public static void CreateContact(ExchangeService service, Folder folder, UserPrincipal user)
        {
            // Create the contact.
            Contact contact = new Contact(service);

            contact.GivenName     = user.GivenName;
            contact.MiddleName    = user.MiddleName;
            contact.Surname       = user.Surname;
            contact.FileAsMapping = FileAsMapping.SurnameCommaGivenName;

            contact.EmailAddresses[EmailAddressKey.EmailAddress1] = (user.EmailAddress != null) ? new EmailAddress(user.EmailAddress) : null;

            contact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = user.GetProperty("telephoneNumber");
            contact.PhoneNumbers[PhoneNumberKey.HomePhone]     = user.GetProperty("homePhone");
            contact.PhoneNumbers[PhoneNumberKey.MobilePhone]   = user.GetProperty("mobile");
            contact.PhoneNumbers[PhoneNumberKey.BusinessFax]   = user.GetProperty("facsimileTelephoneNumber");


            PhysicalAddressEntry paEntry1 = new PhysicalAddressEntry();

            paEntry1.Street          = user.GetProperty("streetAddress");
            paEntry1.City            = user.GetProperty("l");
            paEntry1.State           = user.GetProperty("st");
            paEntry1.PostalCode      = user.GetProperty("postalCode");
            paEntry1.CountryOrRegion = user.GetProperty("co");
            contact.PhysicalAddresses[PhysicalAddressKey.Business] = paEntry1;


            contact.Department     = user.GetProperty("department");
            contact.OfficeLocation = user.GetProperty("physicalDeliveryOfficeName");
            contact.Profession     = user.GetProperty("title");
            contact.JobTitle       = user.GetProperty("title");
            contact.NickName       = user.GetProperty("initials");

            var manager = user.GetProperty("manager");

            manager = (manager != "") ? manager.Split(',')[0].Substring(3) : "";

            contact.Manager     = manager;
            contact.CompanyName = user.GetProperty("company");

            var thumbnail = user.GetThumbnail();

            if (thumbnail != null)
            {
                contact.SetContactPicture(thumbnail);
            }


            contact.Categories.Add("autogenerated by Arges IT");



            contact.SetExtendedProperty(extendedPropertyDefinitionADSID, user.Sid.ToString());

            contact.Save(folder.Id);
        }
コード例 #3
0
        public static void CreateContact(ExchangeService service)
        {
            Contact contact = new Contact(service);

            // Specify the name and how the contact should be filed.
            contact.GivenName     = "Brian";
            contact.MiddleName    = "David";
            contact.Surname       = "Johnson";
            contact.FileAsMapping = FileAsMapping.SurnameCommaGivenName;
            contact.DisplayName   = "Brian Johnson";

            // Specify the company name.
            contact.CompanyName = "Contoso";

            // Specify the business, home, and car phone numbers.
            contact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = "425-555-0110";
            contact.PhoneNumbers[PhoneNumberKey.HomePhone]     = "425-555-0120";
            contact.PhoneNumbers[PhoneNumberKey.CarPhone]      = "425-555-0130";

            // Specify two e-mail addresses.
            contact.EmailAddresses[EmailAddressKey.EmailAddress1] = new EmailAddress("*****@*****.**");
            contact.EmailAddresses[EmailAddressKey.EmailAddress2] = new EmailAddress("*****@*****.**");

            // Specify two IM addresses.
            contact.ImAddresses[ImAddressKey.ImAddress1] = "*****@*****.**";
            contact.ImAddresses[ImAddressKey.ImAddress2] = "*****@*****.**";

            // Specify the home address.
            PhysicalAddressEntry paEntry1 = new PhysicalAddressEntry();

            paEntry1.Street          = "123 Main Street";
            paEntry1.City            = "Seattle";
            paEntry1.State           = "WA";
            paEntry1.PostalCode      = "11111";
            paEntry1.CountryOrRegion = "United States";
            contact.PhysicalAddresses[PhysicalAddressKey.Home] = paEntry1;

            // Specify the business address.
            PhysicalAddressEntry paEntry2 = new PhysicalAddressEntry();

            paEntry2.Street          = "456 Corp Avenue";
            paEntry2.City            = "Seattle";
            paEntry2.State           = "WA";
            paEntry2.PostalCode      = "11111";
            paEntry2.CountryOrRegion = "United States";
            contact.PhysicalAddresses[PhysicalAddressKey.Business] = paEntry2;

            contact.Save();
            Console.WriteLine("Contact created.");
        }
コード例 #4
0
        private void neuenAnlegen()
        {
            try
            {
                // Create the contact.
                Contact contact = new Contact(service);

                // Specify the name and how the contact should be filed.
                contact.GivenName     = this.vornameTextBox.Text;
                contact.Surname       = this.nameTextBox.Text;
                contact.FileAsMapping = FileAsMapping.CompanySurnameCommaGivenName;

                // Specify the company name.
                contact.CompanyName      = this.firmennameTextBox.Text;
                contact.BusinessHomePage = this.businessHomePageTextBox.Text;
                contact.JobTitle         = this.jobTitleTextBox.Text;



                // Specify the business, home, and car phone numbers.
                contact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = this.telefon1TextBox.Text;

                // Specify two email addresses.
                if (this.email1AdresseTextBox.Text.Count() > 0)
                {
                    contact.EmailAddresses[EmailAddressKey.EmailAddress1] = new EmailAddress(this.email1AdresseTextBox.Text);
                }
                if (this.email2AdresseTextBox.Text.Count() > 0)
                {
                    contact.EmailAddresses[EmailAddressKey.EmailAddress2] = new EmailAddress(this.email2AdresseTextBox.Text);
                }


                // Specify the buisness address.
                PhysicalAddressEntry paEntry2 = new PhysicalAddressEntry();
                paEntry2.Street          = this.strasseTextBox.Text;
                paEntry2.City            = this.ortTextBox.Text;
                paEntry2.PostalCode      = this.pLZTextBox.Text;
                paEntry2.CountryOrRegion = this.landTextBox.Text;
                contact.PhysicalAddresses[PhysicalAddressKey.Business] = paEntry2;

                contact.Save();
            }
            catch (Exception ex)
            {
                Helper.LogHelper.WriteDebugLog(ex.ToString());
            }
            // Save the contact.
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: booko365dev/BookExamples
        //gavdcodebegin 01
        static void CreateOneContact(ExchangeService ExService)
        {
            Contact newContact = new Contact(ExService)
            {
                GivenName     = "Somename",
                MiddleName    = "Mymiddle",
                Surname       = "Hersurname",
                FileAsMapping = FileAsMapping.SurnameCommaGivenName,
                CompanyName   = "Mycompany"
            };

            newContact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = "1234567890";
            newContact.PhoneNumbers[PhoneNumberKey.HomePhone]     = "0987654321";
            newContact.PhoneNumbers[PhoneNumberKey.CarPhone]      = "1029384756";

            newContact.EmailAddresses[EmailAddressKey.EmailAddress1] = new
                                                                       EmailAddress("*****@*****.**");
            newContact.EmailAddresses[EmailAddressKey.EmailAddress2] = new
                                                                       EmailAddress("*****@*****.**");

            newContact.ImAddresses[ImAddressKey.ImAddress1] = "*****@*****.**";
            newContact.ImAddresses[ImAddressKey.ImAddress2] = "*****@*****.**";

            PhysicalAddressEntry paHome = new PhysicalAddressEntry
            {
                Street          = "123 Somewhere Street",
                City            = "Here",
                State           = "AZ",
                PostalCode      = "92835",
                CountryOrRegion = "Europe"
            };

            newContact.PhysicalAddresses[PhysicalAddressKey.Home] = paHome;

            PhysicalAddressEntry paBusiness = new PhysicalAddressEntry
            {
                Street          = "456 Somewhere Avenue",
                City            = "There",
                State           = "ZA",
                PostalCode      = "53829",
                CountryOrRegion = "Europe"
            };

            newContact.PhysicalAddresses[PhysicalAddressKey.Business] = paBusiness;

            newContact.Save();
        }
コード例 #6
0
ファイル: Extensions.cs プロジェクト: Interface007/Sem.Sync
        /// <summary>
        /// Converts an Exchange <see cref="PhysicalAddressEntry"/> into a Sem.Sync <see cref="AddressDetail"/>.
        /// </summary>
        /// <param name="element">
        /// The exchange address entry.
        /// </param>
        /// <param name="phoneNumber">
        /// The corresponding phone number.
        /// </param>
        /// <returns>
        /// The <see cref="AddressDetail"/> including the <see cref="PhoneNumber"/>
        /// </returns>
        public static AddressDetail ToAddressDetail(this PhysicalAddressEntry element, string phoneNumber)
        {
            if (element == null)
            {
                return(null);
            }

            return(new AddressDetail
            {
                CityName = element.City,
                CountryName = element.CountryOrRegion,
                PostalCode = element.PostalCode,
                StreetName = element.Street,
                StateName = element.State,
                Phone = phoneNumber
            });
        }
コード例 #7
0
ファイル: Extensions.cs プロジェクト: Interface007/Sem.Sync
        /// <summary>
        /// Sets a <see cref="PhysicalAddressEntry"/> inside a <see cref="Contact"/> by getting the data from a <see cref="AddressDetail"/>
        /// </summary>
        /// <param name="exchangeContact">
        /// The exchange contact that should get the <see cref="PhysicalAddressEntry"/> created with this data.
        /// </param>
        /// <param name="address">
        /// The <see cref="PhysicalAddressKey"/> describing the kind of address to set.
        /// </param>
        /// <param name="value">
        /// The <see cref="AddressDetail"/> to be parsed and set into the <see cref="PhysicalAddressEntry"/>.
        /// </param>
        private static void SetAddress(this Contact exchangeContact, PhysicalAddressKey address, AddressDetail value)
        {
            if (value == null)
            {
                return;
            }

            var exchangeAddress = new PhysicalAddressEntry
            {
                City            = value.CityName,
                CountryOrRegion = value.CountryName,
                PostalCode      = value.PostalCode,
                State           = value.StateName,
                Street          = value.StreetName
            };

            exchangeContact.PhysicalAddresses[address] = exchangeAddress;
        }
コード例 #8
0
        /// <summary>
        /// Set the address entry.
        /// </summary>
        public static void SetAddress(ContactSchemaProperties key, String keyValue,
                                      PhysicalAddressEntry addressEntry)
        {
            switch (key)
            {
            case ContactSchemaProperties.BusinessAddressStreet:
            case ContactSchemaProperties.HomeAddressStreet:
            case ContactSchemaProperties.OtherAddressStreet:
                addressEntry.Street = keyValue;
                break;

            case ContactSchemaProperties.BusinessAddressCity:
            case ContactSchemaProperties.HomeAddressCity:
            case ContactSchemaProperties.OtherAddressCity:
                addressEntry.City = keyValue;
                break;

            case ContactSchemaProperties.BusinessAddressState:
            case ContactSchemaProperties.HomeAddressState:
            case ContactSchemaProperties.OtherAddressState:
                addressEntry.State = keyValue;
                break;

            case ContactSchemaProperties.BusinessAddressPostalCode:
            case ContactSchemaProperties.HomeAddressPostalCode:
            case ContactSchemaProperties.OtherAddressPostalCode:
                addressEntry.PostalCode = keyValue;
                break;

            case ContactSchemaProperties.BusinessAddressCountryOrRegion:
            case ContactSchemaProperties.HomeAddressCountryOrRegion:
            case ContactSchemaProperties.OtherAddressCountryOrRegion:
                addressEntry.CountryOrRegion = keyValue;
                break;

            default:
                break;
            }
        }
コード例 #9
0
        /// <summary>
        /// Return the text to describe each entry in the PhysicalAddessDictionary
        /// </summary>
        /// <param name="service">PhysicalAddressDictionary to get the value from.</param>
        /// <returns>Text to describe the object's value.</returns>
        internal static string GetValue(PhysicalAddressEntry entry, bool singleLine)
        {
            if (entry == null)
            {
                return(string.Empty);
            }

            StringBuilder value = new StringBuilder();

            value.AppendLine(string.Format(System.Globalization.CultureInfo.CurrentCulture, "Street: {0}", entry.Street));
            value.AppendLine(string.Format(System.Globalization.CultureInfo.CurrentCulture, "City: {0}", entry.City));
            value.AppendLine(string.Format(System.Globalization.CultureInfo.CurrentCulture, "State: {0}", entry.State));
            value.AppendLine(string.Format(System.Globalization.CultureInfo.CurrentCulture, "PostalCode: {0}", entry.PostalCode));
            value.AppendLine(string.Format(System.Globalization.CultureInfo.CurrentCulture, "CountryOrRegion: {0}", entry.CountryOrRegion));

            if (singleLine)
            {
                return(value.ToString().Replace("\n", ""));
            }

            return(value.ToString());
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: booko365dev/BookExamples
        //gavdcodeend 03

        //gavdcodebegin 04
        static void UpdateOneContact(ExchangeService ExService)
        {
            FindItemsResults <Item> allFound =
                ExService.FindItems(WellKnownFolderName.Contacts,
                                    new SearchFilter.IsEqualTo(ContactSchema.GivenName, "Somename"),
                                    new ItemView(5));

            ItemId myContactId = null;

            foreach (Item oneFound in allFound)
            {
                if (oneFound is Contact foundContact)
                {
                    myContactId = foundContact.Id;
                }
            }

            Contact myContact = Contact.Bind(ExService, myContactId);

            myContact.Surname     = "Hissurname";
            myContact.CompanyName = "Hiscompany";
            myContact.PhoneNumbers[PhoneNumberKey.BusinessPhone]    = "32143254321";
            myContact.EmailAddresses[EmailAddressKey.EmailAddress2] = new
                                                                      EmailAddress("*****@*****.**");
            myContact.ImAddresses[ImAddressKey.ImAddress1] = "*****@*****.**";

            PhysicalAddressEntry paBusiness = new PhysicalAddressEntry
            {
                Street          = "987 Somewhere Way",
                City            = "Noidea",
                State           = "ZZ",
                PostalCode      = "66666",
                CountryOrRegion = "Europe"
            };

            myContact.PhysicalAddresses[PhysicalAddressKey.Business] = paBusiness;

            myContact.Update(ConflictResolutionMode.AlwaysOverwrite);
        }
コード例 #11
0
ファイル: Program.cs プロジェクト: haoguanjun/MySamples
        public static void CreateContact(ExchangeService service)
        {
            // Create the contact.
            Contact contact = new Contact(service);

            contact.GivenName     = "John";
            contact.Surname       = "Doe";
            contact.FileAsMapping = FileAsMapping.SurnameCommaGivenName;

            // Specify the business address.
            PhysicalAddressEntry address = new PhysicalAddressEntry();

            address.Street          = "600 Townsend";
            address.City            = "SF";
            address.State           = "CA";
            address.PostalCode      = "94103";
            address.CountryOrRegion = "United States";
            contact.PhysicalAddresses[PhysicalAddressKey.Business] = address;

            // Make Business Address as Postal Address
            contact.PostalAddressIndex = PhysicalAddressIndex.Business;
            contact.Save();
        }
コード例 #12
0
        public string GetValue(object ownerInstance, PropertyInfo propInfo)
        {
            PhysicalAddressEntry entry = propInfo.GetValue(ownerInstance, null) as PhysicalAddressEntry;

            return(GetValue(entry, false));
        }
コード例 #13
0
        private bool SetFormFromContact(Contact oContact)
        {
            bool bRet = false;

            ClearForm();

            txtGivenName.Text   = oContact.GivenName;
            txtMiddleName.Text  = oContact.MiddleName;
            txtSurname.Text     = oContact.Surname;
            txtCompanyName.Text = oContact.CompanyName;
            txtJobTitle.Text    = oContact.JobTitle;
            txtNotes.Text       = oContact.Body.Text;
            //if (oContact.HasPicture)
            //{
            //    FileAttachment oFileAttachment = null;
            //    System.IO.Stream oStream = null;
            //    oFileAttachment = oContact.GetContactPictureAttachment();
            //    oFileAttachment.Load(oStream );
            //   // pbContactPhoto.Image = Image.FromStream(oStream);

            //    // For saving image:
            //    // http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/6be416f7-c8f0-425c-879c-7954c572afc8#662c7497-3898-42dc-8bd4-3dd168724a3f
            //    //// Stream attachment contents into a file.
            //    //FileStream theStream = new FileStream("C:\\temp\\Stream_" + fileAttachment.Name, FileMode.OpenOrCreate, FileAccess.ReadWrite);
            //    //fileAttachment.Load(theStream);
            //    //theStream.Close();
            //    //theStream.Dispose();
            //    // http://support.microsoft.com/kb/317701

            //}


            FileAttachment oFileAttachment = null;

            // Note that you need to have ContactSchema.Attachments loaded you will get a general error...
            oFileAttachment = _Contact.GetContactPictureAttachment();
            if (oFileAttachment != null)
            {
                System.IO.MemoryStream oMemoryStream = new System.IO.MemoryStream();
                oFileAttachment.Load(oMemoryStream);
                pbContactPhoto.Image = Image.FromStream(oMemoryStream);
            }

            string sInfo = string.Empty;

            foreach (Attachment oAttachment in oContact.Attachments)
            {
                oFileAttachment = oAttachment as FileAttachment;

                sInfo += "Name: " + oAttachment.Name;
                sInfo += "\r\nIsInline: " + oAttachment.IsInline.ToString();
                if (oFileAttachment.IsContactPhoto)
                {
                    sInfo += "\r\nIsContactPhoto: True";
                }
                else
                {
                    sInfo += "\r\nIsContactPhoto: False";
                }
                sInfo += "\r\nSize: " + oAttachment.Size.ToString();
                sInfo += "\r\nId: " + oAttachment.Id;
                sInfo += "\r\nContentId: " + oAttachment.ContentId;
                sInfo += "\r\nContentLocation: " + oAttachment.ContentLocation;
                sInfo += "\r\nContentType: " + oAttachment.ContentType;
                sInfo += "\r\nLastModifiedTime: " + oAttachment.LastModifiedTime.ToString();
                sInfo += "\r\nContentId: " + oAttachment.ContentId;
                sInfo += "\r\nContentType: " + oAttachment.ContentType;

                sInfo += "\r\n--------------------\r\n";

                // This is another way to get at the Contact Photo
                if (oFileAttachment.IsContactPhoto)
                {
                    // Note that you need to have ContactSchema.Attachments loaded or you will get nothing back.
                    //System.IO.MemoryStream oMemoryStreamx = new System.IO.MemoryStream();
                    //oFileAttachment.Load(oMemoryStream);
                    //pbContactPhoto.Image = Image.FromStream(oMemoryStreamx);
                    //oMemoryStream = null;
                }

                oFileAttachment          = null;
                this.txtAttachments.Text = sInfo;

                _isDirty = false;
            }

            PhysicalAddressEntry oPhysicalAddress = null;

            if (oContact.PhysicalAddresses.TryGetValue(PhysicalAddressKey.Business, out oPhysicalAddress))
            {
                txtBA_Street.Text          = oPhysicalAddress.Street;
                txtBA_City.Text            = oPhysicalAddress.City;
                txtBA_State.Text           = oPhysicalAddress.State;
                txtBA_PostalCode.Text      = oPhysicalAddress.PostalCode;
                txtBA_CountryOrRegion.Text = oPhysicalAddress.CountryOrRegion;
            }

            if (oContact.PhysicalAddresses.TryGetValue(PhysicalAddressKey.Home, out oPhysicalAddress))
            {
                txtHA_Street.Text          = oPhysicalAddress.Street;
                txtHA_City.Text            = oPhysicalAddress.City;
                txtHA_State.Text           = oPhysicalAddress.State;
                txtHA_PostalCode.Text      = oPhysicalAddress.PostalCode;
                txtHA_CountryOrRegion.Text = oPhysicalAddress.CountryOrRegion;
            }

            if (oContact.PhysicalAddresses.TryGetValue(PhysicalAddressKey.Other, out oPhysicalAddress))
            {
                txtOA_Street.Text          = oPhysicalAddress.Street;
                txtOA_City.Text            = oPhysicalAddress.City;
                txtOA_State.Text           = oPhysicalAddress.State;
                txtOA_PostalCode.Text      = oPhysicalAddress.PostalCode;
                txtOA_CountryOrRegion.Text = oPhysicalAddress.CountryOrRegion;
            }

            bool bSet = false;  //Makes setting values for copied lines of code easier.

            txtEmailAddress1_Address.Enabled      = bSet;
            txtEmailAddress1_Name.Enabled         = bSet;
            txtEmailAddress1_MailboxType.Enabled  = bSet;
            txtEmailAddress1_RoutingType.Enabled  = bSet;
            txtEmailAddress1_MailboxType.Enabled  = bSet;
            txtEmailAddress1_Id_UniqueId.Enabled  = bSet;
            txtEmailAddress1_Id_ChangeKey.Enabled = bSet;

            txtEmailAddress2_Address.Enabled      = bSet;
            txtEmailAddress2_Name.Enabled         = bSet;
            txtEmailAddress2_MailboxType.Enabled  = bSet;
            txtEmailAddress2_RoutingType.Enabled  = bSet;
            txtEmailAddress2_MailboxType.Enabled  = bSet;
            txtEmailAddress2_Id_UniqueId.Enabled  = bSet;
            txtEmailAddress2_Id_ChangeKey.Enabled = bSet;

            txtEmailAddress3_Address.Enabled      = bSet;
            txtEmailAddress3_Name.Enabled         = bSet;
            txtEmailAddress3_MailboxType.Enabled  = bSet;
            txtEmailAddress3_RoutingType.Enabled  = bSet;
            txtEmailAddress3_MailboxType.Enabled  = bSet;
            txtEmailAddress3_Id_UniqueId.Enabled  = bSet;
            txtEmailAddress3_Id_ChangeKey.Enabled = bSet;

            EmailAddress oEmailAddress = null;

            if (oContact.EmailAddresses.TryGetValue(EmailAddressKey.EmailAddress1, out oEmailAddress))
            {
                txtEmailAddress1_Address.Text     = oEmailAddress.Address;
                txtEmailAddress1_Name.Text        = oEmailAddress.Name;
                txtEmailAddress1_MailboxType.Text = oEmailAddress.MailboxType.ToString();
                txtEmailAddress1_RoutingType.Text = oEmailAddress.RoutingType;
                txtEmailAddress1_MailboxType.Text = oEmailAddress.MailboxType.Value.ToString();
                if (oEmailAddress.Id != null)
                {
                    txtEmailAddress1_Id_UniqueId.Text  = oEmailAddress.Id.UniqueId;
                    txtEmailAddress1_Id_ChangeKey.Text = oEmailAddress.Id.ChangeKey;
                }
                else
                {
                    txtEmailAddress1_Id_UniqueId.Text  = "";
                    txtEmailAddress1_Id_ChangeKey.Text = "";
                }

                bSet = false;  // Make read-only until the code can be enhanced.
                txtEmailAddress1_Address.Enabled      = bSet;
                txtEmailAddress1_Name.Enabled         = bSet;
                txtEmailAddress1_MailboxType.Enabled  = bSet;
                txtEmailAddress1_RoutingType.Enabled  = bSet;
                txtEmailAddress1_MailboxType.Enabled  = bSet;
                txtEmailAddress1_Id_UniqueId.Enabled  = false;
                txtEmailAddress1_Id_ChangeKey.Enabled = false;
            }
            if (oContact.EmailAddresses.TryGetValue(EmailAddressKey.EmailAddress2, out oEmailAddress))
            {
                txtEmailAddress2_Address.Text     = oEmailAddress.Address;
                txtEmailAddress2_Name.Text        = oEmailAddress.Name;
                txtEmailAddress2_MailboxType.Text = oEmailAddress.MailboxType.ToString();
                txtEmailAddress2_RoutingType.Text = oEmailAddress.RoutingType;
                txtEmailAddress2_MailboxType.Text = oEmailAddress.MailboxType.Value.ToString();
                if (oEmailAddress.Id != null)
                {
                    txtEmailAddress2_Id_UniqueId.Text  = oEmailAddress.Id.UniqueId;
                    txtEmailAddress2_Id_ChangeKey.Text = oEmailAddress.Id.ChangeKey;
                }
                else
                {
                    txtEmailAddress2_Id_UniqueId.Text  = "";
                    txtEmailAddress2_Id_ChangeKey.Text = "";
                }

                bSet = false;  // Make read-only until the code can be enhanced.
                txtEmailAddress2_Address.Enabled      = bSet;
                txtEmailAddress2_Name.Enabled         = bSet;
                txtEmailAddress2_MailboxType.Enabled  = bSet;
                txtEmailAddress2_RoutingType.Enabled  = bSet;
                txtEmailAddress2_MailboxType.Enabled  = bSet;
                txtEmailAddress2_Id_UniqueId.Enabled  = false;
                txtEmailAddress2_Id_ChangeKey.Enabled = false;
            }
            if (oContact.EmailAddresses.TryGetValue(EmailAddressKey.EmailAddress3, out oEmailAddress))
            {
                txtEmailAddress3_Address.Text     = oEmailAddress.Address;
                txtEmailAddress3_Name.Text        = oEmailAddress.Name;
                txtEmailAddress3_MailboxType.Text = oEmailAddress.MailboxType.ToString();
                txtEmailAddress3_RoutingType.Text = oEmailAddress.RoutingType;
                txtEmailAddress3_MailboxType.Text = oEmailAddress.MailboxType.Value.ToString();
                if (oEmailAddress.Id != null)
                {
                    txtEmailAddress3_Id_UniqueId.Text  = oEmailAddress.Id.UniqueId;
                    txtEmailAddress3_Id_ChangeKey.Text = oEmailAddress.Id.ChangeKey;
                }
                else
                {
                    txtEmailAddress3_Id_UniqueId.Text  = "";
                    txtEmailAddress3_Id_ChangeKey.Text = "";
                }

                bSet = false;  // Make read-only until the code can be enhanced.
                txtEmailAddress3_Address.Enabled      = bSet;
                txtEmailAddress3_Name.Enabled         = bSet;
                txtEmailAddress3_MailboxType.Enabled  = bSet;
                txtEmailAddress3_RoutingType.Enabled  = bSet;
                txtEmailAddress3_MailboxType.Enabled  = bSet;
                txtEmailAddress3_Id_UniqueId.Enabled  = false;
                txtEmailAddress3_Id_ChangeKey.Enabled = false;
            }

            string sValue = "Not Set";

            //sValue = oContact.PostalAddressIndex.ToString();
            // bool bHasValue = false;
            try
            {
                // [Microsoft.Exchange.WebServices.Data.ServiceObjectPropertyException] = {"This property was requested, but it wasn't returned by the server."}
                // Message = "This property was requested, but it wasn't returned by the server."
                sValue = oContact.PostalAddressIndex.ToString();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.ToString());
                //MessageBox.Show(ex.ToString());
            }

            //PostalAddressIndex.ToString((PostalAddressIndexType)PostalAddressIndex.)
            if (sValue != "Not Set")
            {
                switch (sValue)
                {
                case "None":
                    this.cmboPostalAddressIndex.Text = "None";
                    break;

                case "Other":
                    this.cmboPostalAddressIndex.Text = "Other";
                    break;

                case "Home":
                    this.cmboPostalAddressIndex.Text = "Home";
                    break;

                case "Business":
                    this.cmboPostalAddressIndex.Text = "Business";
                    break;
                }
            }
            else
            {
                this.cmboPostalAddressIndex.Text = "Not Set";
            }

            ////x = (int)oContact.PostalAddressIndex.Value;
            ////if (oContact.PostalAddressIndex != null)
            //if (sValue != null)
            //{
            //    switch (oContact.PostalAddressIndex.Value)
            //    {
            //        case PhysicalAddressIndex.None:
            //            this.cmboPostalAddressIndex.Text = "None";
            //            break;
            //        case PhysicalAddressIndex.Other:
            //            this.cmboPostalAddressIndex.Text = "Other";
            //            break;
            //        case PhysicalAddressIndex.Home:
            //            this.cmboPostalAddressIndex.Text = "Home";
            //            break;
            //        case PhysicalAddressIndex.Business:
            //            this.cmboPostalAddressIndex.Text = "Business";
            //            break;
            //    }
            //}
            //else
            //{
            //    this.cmboPostalAddressIndex.Text = "Not Set";
            //}



            bRet = true;
            return(bRet);
        }
コード例 #14
0
        private bool SetContactFromForm(ref Contact oContact)
        {
            bool bRet = false;

            oContact.GivenName   = txtGivenName.Text;
            oContact.MiddleName  = txtMiddleName.Text;
            oContact.Surname     = txtSurname.Text;
            oContact.CompanyName = txtCompanyName.Text;
            oContact.JobTitle    = txtJobTitle.Text;
            //oContact.Notes = txtNotes.Text;  /// Its read only???
            PhysicalAddressEntry oPhysicalAddress = null;

            //PhysicalAddressEntry oBusinessAddress = null;
            if (
                (txtBA_Street.Text.Trim().Length != 0) ||
                (txtBA_City.Text.Trim().Length != 0) ||
                (txtBA_State.Text.Trim().Length != 0) ||
                (txtBA_CountryOrRegion.Text.Trim().Length != 0) ||
                (txtBA_PostalCode.Text.Trim().Length != 0)
                )
            {
                // if (oContact.PhysicalAddresses.TryGetValue(PhysicalAddressKey.Business, out oPhysicalAddress))

                //txtBA_Street.Text = oPhysicalAddress.Street;
                oPhysicalAddress = null;
                if (oContact.PhysicalAddresses.TryGetValue(PhysicalAddressKey.Business, out oPhysicalAddress) == false)
                {
                    oContact.PhysicalAddresses[PhysicalAddressKey.Business] = new PhysicalAddressEntry();
                }
                oPhysicalAddress = null;

                //if (oContact.PhysicalAddresses[PhysicalAddressKey.Business] == null)
                //    oContact.PhysicalAddresses[PhysicalAddressKey.Business] = new PhysicalAddressEntry();


                oContact.PhysicalAddresses[PhysicalAddressKey.Business].Street          = txtBA_Street.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Business].City            = txtBA_City.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Business].State           = txtBA_State.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Business].CountryOrRegion = txtBA_CountryOrRegion.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Business].PostalCode      = txtBA_PostalCode.Text;
            }

            //PhysicalAddressEntry oHomeAddress = null;
            if (
                (txtHA_Street.Text.Trim().Length != 0) ||
                (txtHA_City.Text.Trim().Length != 0) ||
                (txtHA_State.Text.Trim().Length != 0) ||
                (txtHA_CountryOrRegion.Text.Trim().Length != 0) ||
                (txtHA_PostalCode.Text.Trim().Length != 0)
                )
            {
                oPhysicalAddress = null;
                if (oContact.PhysicalAddresses.TryGetValue(PhysicalAddressKey.Home, out oPhysicalAddress) == false)
                {
                    oContact.PhysicalAddresses[PhysicalAddressKey.Home] = new PhysicalAddressEntry();
                }
                oPhysicalAddress = null;

                //if (oContact.PhysicalAddresses[PhysicalAddressKey.Home] == null)
                //     oContact.PhysicalAddresses[PhysicalAddressKey.Home] = new PhysicalAddressEntry();

                oContact.PhysicalAddresses[PhysicalAddressKey.Home].Street          = txtHA_Street.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Home].City            = txtHA_City.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Home].State           = txtHA_State.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Home].CountryOrRegion = txtHA_CountryOrRegion.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Home].PostalCode      = txtHA_PostalCode.Text;
            }

            //PhysicalAddressEntry oOtherAddress = null;
            if (
                (txtOA_Street.Text.Trim().Length != 0) ||
                (txtOA_City.Text.Trim().Length != 0) ||
                (txtOA_State.Text.Trim().Length != 0) ||
                (txtOA_CountryOrRegion.Text.Trim().Length != 0) ||
                (txtOA_PostalCode.Text.Trim().Length != 0)
                )
            {
                oPhysicalAddress = null;
                if (oContact.PhysicalAddresses.TryGetValue(PhysicalAddressKey.Other, out oPhysicalAddress) == false)
                {
                    oContact.PhysicalAddresses[PhysicalAddressKey.Other] = new PhysicalAddressEntry();
                }
                oPhysicalAddress = null;

                //if (oContact.PhysicalAddresses[PhysicalAddressKey.Other] == null)
                //    oContact.PhysicalAddresses[PhysicalAddressKey.Other] = new PhysicalAddressEntry();

                oContact.PhysicalAddresses[PhysicalAddressKey.Other].Street          = txtOA_Street.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Other].City            = txtOA_City.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Other].State           = txtOA_State.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Other].CountryOrRegion = txtOA_CountryOrRegion.Text;
                oContact.PhysicalAddresses[PhysicalAddressKey.Other].PostalCode      = txtOA_PostalCode.Text;


                //oOtherAddress = new PhysicalAddressEntry();
                //oOtherAddress.Street = txtOA_Street.Text;
                //oOtherAddress.City = txtOA_City.Text;
                //oOtherAddress.State = txtOA_State.Text;
                //oOtherAddress.CountryOrRegion = txtOA_CountryOrRegion.Text;
                //oOtherAddress.PostalCode = txtOA_PostalCode.Text;
                //oContact.PhysicalAddresses[PhysicalAddressKey.Other]. = oOtherAddress;
            }

            switch (cmboPostalAddressIndex.Text)
            {
            case "None":
                oContact.PostalAddressIndex = (PhysicalAddressIndex)PhysicalAddressIndex.None;
                break;

            case "Other":
                oContact.PostalAddressIndex = (PhysicalAddressIndex)PhysicalAddressIndex.Other;
                break;

            case "Home":
                oContact.PostalAddressIndex = (PhysicalAddressIndex)PhysicalAddressIndex.Home;
                break;

            case "Business":
                oContact.PostalAddressIndex = (PhysicalAddressIndex)PhysicalAddressIndex.Business;
                break;
            }


            bRet = true;


            return(bRet);
        }
コード例 #15
0
        public static bool LoadLvContacts(ExchangeService oExchangeService, ref ListView oListView, FolderTag oFolderTag)
        {
            bool bRet = true;

            // Configure ListView before adding data.
            //oListView.Dock = DockStyle.None;
            oListView.Clear();
            oListView.View      = View.Details;
            oListView.GridLines = true;
            oListView.Dock      = DockStyle.Fill;

            oListView.Columns.Add("Type", 150, HorizontalAlignment.Left);
            oListView.Columns.Add("DisplayName", 150, HorizontalAlignment.Left);
            oListView.Columns.Add("Department", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Manager", 50, HorizontalAlignment.Left);


            oListView.Columns.Add("Business Street", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Business City", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Business State", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Business Zip", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Business CountryOrRegion", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Business Phone", 50, HorizontalAlignment.Left);

            oListView.Columns.Add("Home Street", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Home City", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Home State", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Home Zip", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Home CountryOrRegion", 50, HorizontalAlignment.Left);
            oListView.Columns.Add("Home Phone", 50, HorizontalAlignment.Left);

            FolderId oFolder;

            oFolder = oFolderTag.Id;

            PropertySet oPropSet = new PropertySet(PropertySet.FirstClassProperties);

            oPropSet.Add(ContactSchema.ItemClass);
            oPropSet.Add(ContactSchema.DisplayName);
            oPropSet.Add(ContactSchema.Department);
            oPropSet.Add(ContactSchema.Manager);

            oPropSet.Add(ContactSchema.BusinessAddressStreet);
            oPropSet.Add(ContactSchema.BusinessAddressCity);
            oPropSet.Add(ContactSchema.BusinessAddressState);
            oPropSet.Add(ContactSchema.BusinessAddressPostalCode);
            oPropSet.Add(ContactSchema.BusinessPhone);

            oPropSet.Add(ContactSchema.HomeAddressStreet);
            oPropSet.Add(ContactSchema.HomeAddressCity);
            oPropSet.Add(ContactSchema.HomeAddressState);
            oPropSet.Add(ContactSchema.HomeAddressPostalCode);
            oPropSet.Add(ContactSchema.HomePhone);


            ItemView oView = new ItemView(9999);

            oExchangeService.ClientRequestId = Guid.NewGuid().ToString();  // Set a new GUID.
            Folder folder = Folder.Bind(oExchangeService, oFolder, oPropSet);

            folder.Service.ClientRequestId = Guid.NewGuid().ToString();  // Set a new GUID.
            FindItemsResults <Microsoft.Exchange.WebServices.Data.Item> oResults = folder.FindItems(oView);

            ListViewItem oListItem = null;

            //Contact contact = Contact.Bind(service, new ItemId("AAMkA="));
            string sAddress = string.Empty;
            PhysicalAddressEntry oAddress = null;
            string sPhone = string.Empty;

            foreach (Item o in oResults)
            {
                Contact      oContact      = o as Contact;
                ContactGroup oContactGroup = o as ContactGroup;


                if (oContact != null)
                {
                    oListItem = new ListViewItem("Contact", 0);
                    oListItem.SubItems.Add(oContact.DisplayName);
                    oListItem.SubItems.Add(oContact.Department);
                    oListItem.SubItems.Add(oContact.Manager);

                    if (oContact.PhysicalAddresses.TryGetValue(PhysicalAddressKey.Business, out oAddress))
                    {
                        oListItem.SubItems.Add(oAddress.Street);
                        oListItem.SubItems.Add(oAddress.City);
                        oListItem.SubItems.Add(oAddress.State);
                        oListItem.SubItems.Add(oAddress.PostalCode);
                        oListItem.SubItems.Add(oAddress.CountryOrRegion);
                        //sAddress = oAddress.Street;
                    }
                    else
                    {
                        oListItem.SubItems.Add("");
                        oListItem.SubItems.Add("");
                        oListItem.SubItems.Add("");
                        oListItem.SubItems.Add("");
                        oListItem.SubItems.Add("");
                    }

                    sPhone = string.Empty;
                    if (oContact.PhoneNumbers.TryGetValue(PhoneNumberKey.BusinessPhone, out sPhone))
                    {
                        oListItem.SubItems.Add(sPhone);
                    }
                    else
                    {
                        oListItem.SubItems.Add("");
                    }

                    if (oContact.PhysicalAddresses.TryGetValue(PhysicalAddressKey.Home, out oAddress))
                    {
                        oListItem.SubItems.Add(oAddress.Street);
                        oListItem.SubItems.Add(oAddress.State);
                        oListItem.SubItems.Add(oAddress.City);
                        oListItem.SubItems.Add(oAddress.PostalCode);
                        oListItem.SubItems.Add(oAddress.CountryOrRegion);
                        sAddress = oAddress.Street;
                    }
                    else
                    {
                        oListItem.SubItems.Add("");
                        oListItem.SubItems.Add("");
                        oListItem.SubItems.Add("");
                        oListItem.SubItems.Add("");
                        oListItem.SubItems.Add("");
                    }

                    sPhone = string.Empty;
                    if (oContact.PhoneNumbers.TryGetValue(PhoneNumberKey.HomePhone, out sPhone))
                    {
                        oListItem.SubItems.Add(sPhone);
                    }
                    else
                    {
                        oListItem.SubItems.Add("");
                    }

                    oListItem.Tag = new ItemTag(o.Id, o.ItemClass);
                    oListView.Items.AddRange(new ListViewItem[] { oListItem });

                    oContact      = null;
                    oContactGroup = null;
                    oListItem     = null;
                    oAddress      = null;
                }
            }

            return(bRet);
        }
コード例 #16
0
        /// <summary>
        /// Create a new contact and save it.
        /// </summary>
        private static void CreateContact(ExchangeService service, Dictionary <ContactSchemaProperties, String> contactInfo)
        {
            Contact newContact = new Contact(service);
            PhysicalAddressEntry businessAddressEntry = null;
            PhysicalAddressEntry homeAddressEntry     = null;
            PhysicalAddressEntry otherAddressEntry    = null;

            foreach (ContactSchemaProperties key in contactInfo.Keys)
            {
                switch (key)
                {
                case ContactSchemaProperties.Surname:
                    newContact.Surname = contactInfo[key];
                    break;

                case ContactSchemaProperties.GivenName:
                    newContact.GivenName = contactInfo[key];
                    break;

                case ContactSchemaProperties.DisplayName:
                    newContact.DisplayName = contactInfo[key];
                    break;

                case ContactSchemaProperties.JobTitle:
                    newContact.JobTitle = contactInfo[key];
                    break;

                case ContactSchemaProperties.Birthday:
                {
                    DateTime birthday;
                    newContact.Birthday = DateTime.TryParse(contactInfo[key], out birthday) ? (DateTime?)birthday : null;
                }
                break;

                case ContactSchemaProperties.CompanyName:
                    newContact.CompanyName = contactInfo[key];
                    break;

                case ContactSchemaProperties.Companies:
                {
                    StringList stringList = new StringList();
                    stringList.Add(contactInfo[key]);
                    newContact.Companies = stringList;
                }
                break;

                case ContactSchemaProperties.Department:
                    newContact.Department = contactInfo[key];
                    break;

                case ContactSchemaProperties.EmailAddress1:
                    newContact.EmailAddresses[EmailAddressKey.EmailAddress1] = contactInfo[key];
                    break;

                case ContactSchemaProperties.EmailAddress2:
                    newContact.EmailAddresses[EmailAddressKey.EmailAddress2] = contactInfo[key];
                    break;

                case ContactSchemaProperties.EmailAddress3:
                    newContact.EmailAddresses[EmailAddressKey.EmailAddress3] = contactInfo[key];
                    break;

                case ContactSchemaProperties.BusinessAddressStreet:
                case ContactSchemaProperties.BusinessAddressCity:
                case ContactSchemaProperties.BusinessAddressState:
                case ContactSchemaProperties.BusinessAddressPostalCode:
                case ContactSchemaProperties.BusinessAddressCountryOrRegion:
                {
                    if (businessAddressEntry == null)
                    {
                        businessAddressEntry = new PhysicalAddressEntry();
                    }

                    SetContactDetails.SetAddress(key, contactInfo[key], businessAddressEntry);
                }
                break;

                case ContactSchemaProperties.HomeAddressStreet:
                case ContactSchemaProperties.HomeAddressCity:
                case ContactSchemaProperties.HomeAddressState:
                case ContactSchemaProperties.HomeAddressPostalCode:
                case ContactSchemaProperties.HomeAddressCountryOrRegion:
                {
                    if (homeAddressEntry == null)
                    {
                        homeAddressEntry = new PhysicalAddressEntry();
                    }
                    SetContactDetails.SetAddress(key, contactInfo[key], homeAddressEntry);
                }
                break;

                case ContactSchemaProperties.OtherAddressStreet:
                case ContactSchemaProperties.OtherAddressCity:
                case ContactSchemaProperties.OtherAddressState:
                case ContactSchemaProperties.OtherAddressPostalCode:
                case ContactSchemaProperties.OtherAddressCountryOrRegion:
                {
                    if (otherAddressEntry == null)
                    {
                        otherAddressEntry = new PhysicalAddressEntry();
                    }
                    SetContactDetails.SetAddress(key, contactInfo[key], otherAddressEntry);
                }
                break;

                case ContactSchemaProperties.BusinessPhone:
                    newContact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = contactInfo[key];
                    break;

                case ContactSchemaProperties.BusinessPhone2:
                    newContact.PhoneNumbers[PhoneNumberKey.BusinessPhone2] = contactInfo[key];
                    break;

                case ContactSchemaProperties.HomePhone:
                    newContact.PhoneNumbers[PhoneNumberKey.HomePhone] = contactInfo[key];
                    break;

                case ContactSchemaProperties.HomePhone2:
                    newContact.PhoneNumbers[PhoneNumberKey.HomePhone2] = contactInfo[key];
                    break;

                case ContactSchemaProperties.MobilePhone:
                    newContact.PhoneNumbers[PhoneNumberKey.MobilePhone] = contactInfo[key];
                    break;

                case ContactSchemaProperties.Photo:
                {
                    Byte[] picture = Convert.FromBase64String(contactInfo[key]);
                    newContact.SetContactPicture(picture);
                }
                break;

                default:
                    break;
                }
            }

            // We'll add the addresses if they exist.
            if (businessAddressEntry != null)
            {
                newContact.PhysicalAddresses[PhysicalAddressKey.Business] = businessAddressEntry;
            }
            if (homeAddressEntry != null)
            {
                newContact.PhysicalAddresses[PhysicalAddressKey.Home] = homeAddressEntry;
            }
            if (otherAddressEntry != null)
            {
                newContact.PhysicalAddresses[PhysicalAddressKey.Other] = otherAddressEntry;
            }

            newContact.FileAsMapping = FileAsMapping.GivenNameSpaceSurname;

            newContact.Save(WellKnownFolderName.Contacts);
        }
コード例 #17
0
ファイル: WhartonEWS.cs プロジェクト: wharton/Envelope
    public WhartonEWSResponse UpdateContact(
        String apiKey,
        String strUniqueId,
        String emlUserAddress,
        String strCtctGivenName,
        String strCtctSurname,
        String strCtctCompanyName,
        String strCtctHomePhone,
        String strCtctWorkPhone,
        String strCtctMobilePhone,
        String emlCtctEmail1,
        String emlCtctEmail2,
        String emlCtctEmail3,
        String strCtctHomeAddrStreet,
        String strCtctHomeAddrCity,
        String strCtctHomeAddrStateAbbr,
        String strCtctHomeAddrPostalCode,
        String strCtctHomeAddrCountry,
        String strCtctWorkAddrStreet,
        String strCtctWorkAddrCity,
        String strCtctWorkAddrStateAbbr,
        String strCtctWorkAddrPostalCode,
        String strCtctWorkAddrCountry
    )
    {
        WhartonEWSResponse rsp = new WhartonEWSResponse();

        Boolean success = true;
        String miscData = "";

        ExchangeService service = getService(emlUserAddress, apiKey);

        try
        {
            Contact c = Contact.Bind(service, new ItemId(strUniqueId));

            c.GivenName = strCtctGivenName;
            c.Surname = strCtctSurname;
            c.FileAsMapping = FileAsMapping.SurnameCommaGivenName;

            //add company name if supplied
            if (strCtctCompanyName.Length > 0)
                c.CompanyName = strCtctCompanyName;
            else
                c.CompanyName = null;

            //add suppied phone numbers
            if (strCtctHomePhone.Length > 0)
                c.PhoneNumbers[PhoneNumberKey.HomePhone] = strCtctHomePhone;
            else
                c.PhoneNumbers[PhoneNumberKey.HomePhone] = null;

            if (strCtctWorkPhone.Length > 0)
                c.PhoneNumbers[PhoneNumberKey.BusinessPhone] = strCtctWorkPhone;
            else
                c.PhoneNumbers[PhoneNumberKey.BusinessPhone] = null;

            if (strCtctMobilePhone.Length > 0)
                c.PhoneNumbers[PhoneNumberKey.MobilePhone] = strCtctMobilePhone;
            else
                c.PhoneNumbers[PhoneNumberKey.MobilePhone] = null;

            //add supplied email addresses
            if (emlCtctEmail1.Length > 0)
                c.EmailAddresses[EmailAddressKey.EmailAddress1] = new EmailAddress(emlCtctEmail1);
            else
                c.EmailAddresses[EmailAddressKey.EmailAddress1] = null;

            if (emlCtctEmail2.Length > 0)
                c.EmailAddresses[EmailAddressKey.EmailAddress2] = new EmailAddress(emlCtctEmail2);
            else
                c.EmailAddresses[EmailAddressKey.EmailAddress2] = null;

            if (emlCtctEmail3.Length > 0)
                c.EmailAddresses[EmailAddressKey.EmailAddress3] = new EmailAddress(emlCtctEmail3);
            else
                c.EmailAddresses[EmailAddressKey.EmailAddress3] = null;

            //Home address
            int homeAddrLength = 0;
            homeAddrLength += strCtctHomeAddrStreet.Length;
            homeAddrLength += strCtctHomeAddrCity.Length;
            homeAddrLength += strCtctHomeAddrStateAbbr.Length;
            homeAddrLength += strCtctHomeAddrPostalCode.Length;
            homeAddrLength += strCtctHomeAddrCountry.Length;
            if (homeAddrLength > 0)
            {
                PhysicalAddressEntry paEntry1 = new PhysicalAddressEntry();

                //add whichever fields are supplied
                if (strCtctHomeAddrStreet.Length > 0)
                    paEntry1.Street = strCtctHomeAddrStreet;
                else
                    paEntry1.Street = null;

                if (strCtctHomeAddrCity.Length > 0)
                    paEntry1.City = strCtctHomeAddrCity;
                else
                    paEntry1.City = null;

                if (strCtctHomeAddrStateAbbr.Length > 0)
                    paEntry1.State = strCtctHomeAddrStateAbbr;
                else
                    paEntry1.State = null;

                if (strCtctHomeAddrPostalCode.Length > 0)
                    paEntry1.PostalCode = strCtctHomeAddrPostalCode;
                else
                    paEntry1.PostalCode = null;

                if (strCtctHomeAddrCountry.Length > 0)
                    paEntry1.CountryOrRegion = strCtctHomeAddrCountry;
                else
                    paEntry1.CountryOrRegion = null;

                c.PhysicalAddresses[PhysicalAddressKey.Home] = paEntry1;
            }
            else
            {
                c.PhysicalAddresses[PhysicalAddressKey.Home] = null;
            }

            //Work address
            int workAddrLength = 0;
            workAddrLength += strCtctWorkAddrStreet.Length;
            workAddrLength += strCtctWorkAddrCity.Length;
            workAddrLength += strCtctWorkAddrStateAbbr.Length;
            workAddrLength += strCtctWorkAddrPostalCode.Length;
            workAddrLength += strCtctWorkAddrCountry.Length;
            if (workAddrLength > 0)
            {
                PhysicalAddressEntry paEntry2 = new PhysicalAddressEntry();

                //add whichever fields are supplied
                if (strCtctWorkAddrStreet.Length > 0)
                    paEntry2.Street = strCtctWorkAddrStreet;
                else
                    paEntry2.Street = null;

                if (strCtctWorkAddrCity.Length > 0)
                    paEntry2.City = strCtctWorkAddrCity;
                else
                    paEntry2.City = null;

                if (strCtctWorkAddrStateAbbr.Length > 0)
                    paEntry2.State = strCtctWorkAddrStateAbbr;
                else
                    paEntry2.State = null;

                if (strCtctWorkAddrPostalCode.Length > 0)
                    paEntry2.PostalCode = strCtctWorkAddrPostalCode;
                else
                    paEntry2.PostalCode = null;

                if (strCtctWorkAddrCountry.Length > 0)
                    paEntry2.CountryOrRegion = strCtctWorkAddrCountry;
                else
                    paEntry2.CountryOrRegion = null;

                c.PhysicalAddresses[PhysicalAddressKey.Business] = paEntry2;
            }
            else
            {
                c.PhysicalAddresses[PhysicalAddressKey.Business] = null;
            }

            //save the contact
            c.Update(ConflictResolutionMode.AlwaysOverwrite);

            rsp.SimpleData = true;
        }
        catch (Exception e)
        {
            if (!(int.TryParse(e.Message, out rsp.StatusCode)))
            {
                //if the parsing fails, then set a default value of 500
                rsp.StatusCode = 500;
            }
            rsp.Msg = e.Message;

            success = false;
            miscData = "{ \"ErrMsg\":\"" + rsp.Msg + "\" }";
            rsp.StackTrace = e.StackTrace;
            if (e.InnerException != null) { rsp.InnerException = e.InnerException.ToString(); }
        }

        //audit
        addAuditLog(apiKey, emlUserAddress, "CreateContact", success, miscData);

        return rsp;
    }
コード例 #18
0
        private void button2_speichern_Click(object sender, EventArgs e)
        {
            try
            {
                currContact = Contact.Bind((Application.OpenForms["Form1_main"] as Form1_main).service, new ItemId(currUniqueID));

                currContact.JobTitle = this.jobTitleTextBox.Text;
                alleAdressen.Where(x => x.Id.UniqueId == currUniqueID)
                .FirstOrDefault()
                .JobTitle = this.jobTitleTextBox.Text;

                var mail = new EmailAddress(this.email1AdresseTextBox.Text);
                currContact.EmailAddresses[EmailAddressKey.EmailAddress1] = mail;
                alleAdressen.Where(x => x.Id.UniqueId == currUniqueID)
                .FirstOrDefault()
                .EmailAddresses[EmailAddressKey.EmailAddress1] = mail;

                string newNR = this.phone1maskedTextBox.Text;
                currContact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = newNR;
                alleAdressen.Where(x => x.Id.UniqueId == currUniqueID)
                .FirstOrDefault()
                .PhoneNumbers[PhoneNumberKey.BusinessPhone] = newNR;


                string newmobileNR = this.phone1maskedTextBox.Text;
                currContact.PhoneNumbers[PhoneNumberKey.MobilePhone] = newmobileNR;
                alleAdressen.Where(x => x.Id.UniqueId == currUniqueID)
                .FirstOrDefault()
                .PhoneNumbers[PhoneNumberKey.MobilePhone] = newmobileNR;

                // Firmenname CompanyName
                currContact.CompanyName = this.firmennameTextBox.Text;
                alleAdressen.Where(x => x.Id.UniqueId == currUniqueID)
                .FirstOrDefault()
                .CompanyName = this.firmennameTextBox.Text;


                PhysicalAddressEntry PABusinessEntry = new PhysicalAddressEntry();
                PABusinessEntry.Street          = this.strasseTextBox.Text;
                PABusinessEntry.City            = this.ortTextBox.Text;
                PABusinessEntry.PostalCode      = this.pLZTextBox.Text;
                PABusinessEntry.CountryOrRegion = this.landTextBox.Text;

                currContact.PhysicalAddresses[PhysicalAddressKey.Business] = PABusinessEntry;
                alleAdressen.Where(x => x.Id.UniqueId == currUniqueID)
                .FirstOrDefault()
                .PhysicalAddresses[PhysicalAddressKey.Business] = PABusinessEntry;

                var categories = this.categoriesTextBox.Text.Split(' ');
                if (categories.Count() > 0)
                {
                    StringList stringList = new StringList();
                    foreach (var item in categories)
                    {
                        stringList.Add(item);
                    }

                    currContact.Categories = stringList;
                }


                // https://msdn.microsoft.com/en-us/library/office/ee693002(v=exchg.80).aspx
                currContact.Update(ConflictResolutionMode.AlwaysOverwrite);

                schreibschuetzen();
            }
            catch (Exception ex)
            {
                Helper.LogHelper.WriteDebugLog(ex.ToString());
            }
        }