Feedback

C# - EWS - ExtendedProperty read and write

Veröffentlicht von am 19.12.2018
(0 Bewertungen)
Im ersten Teil wird das ExtendedProperty gesetzt und im zweiten Teil wird es ausgelesen.
GFU-Schulungen  [Anzeige]

VB.NET 2017/2015/2013 Komplett

Ziel des Seminars ist der flexible Umgang mit VB.NET, wie z.B. die damit verbundene eigenständige Entwicklung von Programmen oder das Verwenden von Datenbanken.

ASP.NET Core - Der Einstieg

In nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.

String password = "***";
String username = "***";
String domain = "***";
String exUri = "https://domain/EWS/Exchange.asmx";
String SMTPAdresse = "***@***.de";
String ContactFolderName = "KontakteIntern";



ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = new WebCredentials(username, password, domain);

service.Url = new Uri(exUri);

service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, SMTPAdresse);

var PublicRoot = Folder.Bind(service, WellKnownFolderName.Contacts);
SearchFilter.IsEqualTo filter = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, ContactFolderName);
FindFoldersResults FindPublicContactFolder = service.FindFolders(PublicRoot.Id, filter, new FolderView(1));
var ContactFolder = FindPublicContactFolder.Folders[0];

Guid MyPropertySetId = new Guid("{57616c7a-656e-6261-6368-536173636861}");
ExtendedPropertyDefinition extendedPropertyDefinition = new ExtendedPropertyDefinition(MyPropertySetId, "PublicID", MapiPropertyType.String);

// EXTENDED PROP WRITE
FindItemsResults<Item> findResults = service.FindItems(ContactFolder.Id, new ItemView(int.MaxValue));
foreach (Contact item in findResults.Items)
{
    Console.WriteLine(item.Subject);

    Contact contact = Contact.Bind(service, item.Id);

    

    contact.SetExtendedProperty(extendedPropertyDefinition, item.Id.UniqueId);
    contact.Update(ConflictResolutionMode.AlwaysOverwrite);
}


// EXTENDED PROP READ
ItemView view = new ItemView(int.MaxValue);
view.PropertySet = new PropertySet(BasePropertySet.IdOnly, ItemSchema.Subject, extendedPropertyDefinition);
FindItemsResults<Item> findResults2 = service.FindItems(ContactFolder.Id, view);

foreach (Item item in findResults2.Items)
{
    Console.WriteLine(item.Subject);
    string PublicID;
    if (item.ExtendedProperties.Count > 0)
    {
        item.TryGetProperty(extendedPropertyDefinition, out PublicID);

        Console.WriteLine(PublicID);
    }
}
Console.ReadKey();
Abgelegt unter ews, c#, contact, extendedproperty, exchange.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!