Outlook Takvim Öğelerini Yönetme

Aspose.Email MapiCalendar Sınıf, bir takvim öğesinin çeşitli özelliklerini ayarlamak için yöntemler ve öznitelikler sağlar. Bu bölüm, şu konular için kod örnekleri sunar:

Takvim Öğelerini Oluştur ve Kaydet

Aşağıdaki kod parçacığı, bir takvim öğesini ICS formatında nasıl oluşturup kaydedeceğinizi gösterir.

Takvim Öğelerini MSG Dosyaları Olarak Kaydet

Aşağıdaki kod parçacığı, takvim öğesini MSG olarak nasıl kaydedeceğinizi gösterir.

MAPI Takvim Öğeleri için Ürün ID’lerini ICS’ye Kaydet

Bu ProductIdentifier özellik MapiCalendarIcsSaveOptions sınıf, orijinal tarih ve saat bilgilerini ve özel bir ürün tanımlayıcısını koruyarak bir MAPI takvim öğesini iCalendar (ICS) dosyasına kaydetmek için kullanılır. Özellik, iCalendar nesnesini oluşturan ürünün tanımlayıcısını belirler.

Aşağıdaki kod örneği, bir MAPI takvim nesnesi içinde iCalendar (ICS) verileriyle nasıl çalışılacağını gösterir:

var icsSaveOptions = new MapiCalendarIcsSaveOptions
{
    KeepOriginalDateTimeStamp = true,
    ProductIdentifier = "Foo Ltd"
};

mapiCalendar.Save("my.ics", icsSaveOptions);

Toplam Etkinlik Sayısını Al

CalendarReader sınıfı, takvim etkinliklerini sorunsuz bir şekilde yönetmeyi sağlar. Aşağıdaki özellikler ve bir yöntem, birden fazla etkinlikle çalışmanıza imkan verir:

  • CalendarReader.Count - CalendarReader sınıfının Count özelliği, takvimde bulunan Vevent bileşenlerinin (etkinliklerin) sayısını almanıza olanak tanır, böylece toplam etkinlik sayısını izlemek daha kolay olur.
  • CalendarReader.IsMultiEvents - Bu özellik, takvimin birden fazla etkinlik içerip içermediğini belirler. Takvimin birden fazla etkinlik içerip içermediğini gösteren bir boolean değer sağlar, tekli veya çoklu etkinlikli takvimleri tanımlamaya yardımcı olur.
  • CalendarReader.Method - Method özelliği, takvim nesnesiyle ilişkili iCalendar yöntem tipini alır. “REQUEST”, “PUBLISH” veya “CANCEL” gibi yöntem tiplerini döndürür ve takvimin amacına dair değerli bilgiler sağlar.
  • CalendarReader.Version - iCalendar’ın sürümünü alır.
  • CalendarReader.LoadAsMultiple() Bu yöntem, birden fazla etkinlik içeren bir takvimden olay listesi yüklenmesini sağlar. Appointment nesnelerinin bir listesini döndürür, böylece her bir etkinliğe ayrı ayrı kolay erişim ve işleme imkanı tanır.

Aşağıdaki kod örneği, bu yetenekleri projenizde nasıl uygulayabileceğinizi gösterir:

var reader = new CalendarReader(fileName);
Console.WriteLine("Calendar contains " + reader.Count + " events");
Console.WriteLine("The Version of the calendar is " + reader.Version);
Console.WriteLine("The Method of the calendar is " + reader.Method);
Console.WriteLine("Is calendar contains contains multiple events? - " + reader.IsMultiEvents);
List<Appointment> appointments = reader.LoadAsMultiple();

Görsel Hatırlatıcılar Ekle

Aşağıdaki kod parçacığı, bir takvime görsel hatırlatıcı eklemenin nasıl yapılacağını gösterir.

Sesli Hatırlatıcılar Ekle

Aşağıdaki kod parçacığı, takvime sesli hatırlatıcı eklemenin nasıl yapılacağını gösterir.

Takvim Dosyalarından Eklenti Ekleme/Geri Getirme

Aşağıdaki kod parçacığı, takvim dosyalarından ekleri ekleme/geri getirme nasıl yapılır gösterir.

Toplantı İsteklerinde Alıcıların Durumunu Kontrol Et

Aşağıdaki kod parçacığı, bir toplantı isteğinden alıcıların durumunu nasıl göstereceğinizi gösterir.

Standart Zaman Diliminden MAPI Takvim Zaman Dilimi Oluştur

Aşağıdaki kod parçacığı, standart Zaman Diliminden MapiCalendarTimeZone oluşturmanın nasıl yapılacağını gösterir.

Randevular için Hatırlatıcıları Ayarla

Bir randevu oluşturulduğunda bir hatırlatıcı eklenebilir. Bu alarmlar, plan başlamadan n dakika önce gibi çeşitli kriterlere göre tetiklenebilir, n aralıklarla n kez tekrarlanabilir. Farklı etiketler, randevu içindeki BEGIN:VALARM ve END:VALARM ile çevrili komut dosyasında bu tetikleyicileri oluşturmak için kullanılabilir. Hatırlatıcının bir randevuya ayarlanabileceği çeşitli varyantlar bulunmaktadır.

Hatırlatıcıları Ayarlamak için Etiketler Ekle

Aşağıdaki kod parçacığı, etiket ekleyerek bir hatırlatıcı nasıl ayarlanır gösterir.

HTML Gövdesiyle Randevu EML’yi MSG’ye Dönüştür

19.3 sürümünden itibaren, Aspose.Email, randevu EML dosyasını MSG’ye dönüştürürken HTML gövdesini koruma yeteneği sunar. Aspose.Email bir MapiConversionOptions.ForcedRtfBodyForAppointment özellik, varsayılan değeri true. olan. Değeri MapiConversionOptions.ForcedRtfBodyForAppointment true olarak ayarlandığında, randevu gövdesi RTF biçimine dönüştürülür. Randevu gövdesi formatının HTML olarak kalmasını sağlamak için, değerini ayarlayın MapiConversionOptions.ForcedRtfBodyForAppointment false olarak

Aşağıdaki örnek kullanılanı göstermektedir MapiConversionOptions.ForcedRtfBodyForAppointment randevu gövde formatının HTML biçiminde kalmasını sağlayan özellik.

MAPI Takvim Öğelerinin Durumunu Manuel Olarak Ayarla

Bir MAPI Takvim nesnesinin durumunu açıkça ayarlayarak varsayılan davranışı geçersiz kılın. Bu, özellikle alınan toplantı isteklerini işlerken takvim etkinlik durumları üzerinde daha iyi kontrol sağlar. Varsayılan olarak, bir toplantı oluşturulduğunda durumu MapiCalendarState.Meeting. Alıcıların gelen kutusuna alındığında, otomatik olarak şu şekle değişir MapiCalendarState.Received, ve mesaj sınıfı “IPM.Schedule.Meeting.Request” olarak güncellenir. Kullanarak SetStateForced Received durumunu manuel olarak ayarlamaya izin verir; bu, takvimi MSG dosyası olarak kaydederken organizatör bilgisinin korunması için faydalı olabilir. Ancak bu, toplantının doğru bir şekilde iletilmesini veya yeniden gönderilmesini engelleyebilir.

Aşağıdaki kod örneği, bir şey oluşturmanın nasıl yapılacağını gösterir. MapiCalendar Nesneyi oluştur, bir organizatör ata ve durumunu açıkça her ikisine de ayarla Meeting ve Received kullanarak SetStateForced. Ardından takvim öğesini .msg dosyası olarak kaydeder.

MapiCalendar appointment = new MapiCalendar(
    "LAKE ARGYLE WA 6743",
    "Appointment",
    "This is a very important meeting :)",
    new DateTime(2024, 5, 10, 12, 30, 0, DateTimeKind.Utc),
    new DateTime(2024, 5, 10, 13, 30, 0, DateTimeKind.Utc));

appointment.Organizer = new MapiElectronicAddress
{
    EmailAddress = "test@aaa.com",
    DisplayName = "test display Name"
};

appointment.SetStateForced(MapiCalendarState.Meeting | MapiCalendarState.Received);

appointment.Save("appointment.msg", AppointmentSaveFormat.Msg);