Question

Je suis en train de désérialiser un fichier iCal et puis la carte de la collection personnalisé POCO.Le problème est que je ne suis pas sûr de l'endroit où les propriétés sont stockées.

Voici la méthode de la Désérialisation

public static IICalendarCollection Deserialize(String iCalUri)
{

    var wc = new WebClient();
    var result = wc.DownloadString(iCalUri);

    using (var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(result)))
    {
        var serializer = new iCalendarSerializer();
        var collection = (iCalendarCollection)serializer.Deserialize(memoryStream, Encoding.UTF8);
        return collection;
    }
}

Alors, dans mon service, je suis en train de mapper les propriétés de ma POCO, mais je ne trouve pas les propriétés.

var url = string.Format(GoogleICalUrl, calendarID);
var feed = iCalUtility.Deserialize(url);

foreach(var e in feed)
{
    calendarModel.title = e.WhereTheHellAreThePropertiesKept;
}

Quelqu'un sait-il la bonne façon de faire une boucle par la iCalendarCollection et obtenir toutes les propriétés?

J'ai vérifié le jour j site web, mais il est porté vers le bas toute la journée.

Était-ce utile?

La solution

Après quelques recherches, il s'avère que IICalendarCollection a imbriquée Événement de collecte qui doit être analysée comme suit.

var url = string.Format(GoogleICalUrl, calendarID);
var feed = iCalUtility.Deserialize(url);

foreach (var ev in feed.SelectMany(e => e.Events))
{
    calendarModel.Add(new CalendarModel {description = ev.Description,
                                         title = ev.Summary});
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top