Esempio n. 1
0
        public static EventStatus?Parse(ReadOnlySequence <byte> buffer)
        {
            if (buffer.MatchesFrom(tenativeBytes.Span))
            {
                return(EventStatus.Tentative);
            }
            if (buffer.MatchesFrom(confirmedBytes.Span))
            {
                return(EventStatus.Confirmed);
            }

            if (buffer.MatchesFrom(needsactionBytes.Span))
            {
                return(EventStatus.NeedsAction);
            }
            if (buffer.MatchesFrom(completedBytes.Span))
            {
                return(EventStatus.Completed);
            }
            if (buffer.MatchesFrom(inprocessBytes.Span))
            {
                return(EventStatus.InProgress);
            }

            if (buffer.MatchesFrom(draftBytes.Span))
            {
                return(EventStatus.Draft);
            }
            if (buffer.MatchesFrom(finalBytes.Span))
            {
                return(EventStatus.Final);
            }

            if (buffer.MatchesFrom(cancelledBytes.Span))
            {
                return(EventStatus.Cancelled);
            }

            return(null);
        }
Esempio n. 2
0
 private static void UpdateProperty(ReadOnlySequence <byte> name, ReadOnlySequence <byte> parameters, ReadOnlySequence <byte> value, Event nextEvent)
 {
     if (name.MatchesFrom(UTF8Constants.Attendee.Span))
     {
         nextEvent.Attendees.Add(value.ToString(Encoding.UTF8));
     }
     else if (name.MatchesFrom(UTF8Constants.UId.Span))
     {
         nextEvent.UId = value.ToString(Encoding.UTF8);
     }
     else if (name.MatchesFrom(UTF8Constants.Start.Span))
     {
         var parseResult = iCalInstantPattern.Parse(value.ToString(Encoding.UTF8));
         if (parseResult.Success)
         {
             nextEvent.Start = parseResult.Value;
         }
     }
     else if (name.MatchesFrom(UTF8Constants.End.Span))
     {
         var parseResult = iCalInstantPattern.Parse(value.ToString(Encoding.UTF8));
         if (parseResult.Success)
         {
             nextEvent.End = parseResult.Value;
         }
     }
     else if (name.MatchesFrom(UTF8Constants.Duration.Span))
     {
         var parseResult = PeriodPattern.Roundtrip.Parse(value.ToString(Encoding.UTF8));
         if (parseResult.Success)
         {
             nextEvent.Duration = parseResult.Value.ToDuration();
         }
     }
     else if (name.MatchesFrom(UTF8Constants.Summary.Span))
     {
         nextEvent.Summary = value.ToString(Encoding.UTF8);
     }
     else if (name.MatchesFrom(UTF8Constants.Status.Span))
     {
         nextEvent.Status = EventStatusParser.Parse(value);
     }
 }