Exemplo n.º 1
0
        public IEnumerable <EventBase> BuildResultForRequestedEventType(PostcrossingEventTypeEnum postcrossingEventType, long fromPostcrossingEventId, IEnumerable <EventBase> postcrossingEvents)
        {
            var result = new List <EventBase>();

            if (postcrossingEventType.HasFlag(PostcrossingEventTypeEnum.Register))
            {
                result.AddRange(GetEventsStartingFrom <Register>(fromPostcrossingEventId, postcrossingEvents));
            }

            if (postcrossingEventType.HasFlag(PostcrossingEventTypeEnum.Send))
            {
                result.AddRange(GetEventsStartingFrom <Send>(fromPostcrossingEventId, postcrossingEvents));
            }

            if (postcrossingEventType.HasFlag(PostcrossingEventTypeEnum.SignUp))
            {
                result.AddRange(GetEventsStartingFrom <SignUp>(fromPostcrossingEventId, postcrossingEvents));
            }

            if (postcrossingEventType.HasFlag(PostcrossingEventTypeEnum.Upload))
            {
                result.AddRange(GetEventsStartingFrom <Upload>(fromPostcrossingEventId, postcrossingEvents));
            }

            if (postcrossingEventType.HasFlag(PostcrossingEventTypeEnum.Unknown))
            {
                result.AddRange(GetEventsStartingFrom <EventBase>(fromPostcrossingEventId, postcrossingEvents));
            }

            return(result.OrderBy(r => r.EventId));
        }