public EventInfoFilter ToEventInfoFilter() { var filter = new EventInfoFilter(); if (CollectionId.HasValue) { filter.CollectionIds = new[] { CollectionId.Value }; } return(filter); }
public EventInfoFilter ToEventInfoFilter() { var filter = new EventInfoFilter { TypeOneOf = Type.HasValue ? new[] { Type.Value } : null, StatusNoneOf = new[] { EventInfo.EventInfoStatus.Draft }, OrganizationId = OrganizationId, AccessibleOnly = false }; if (!Start.HasValue && !End.HasValue) { return(EventInfoFilter.UpcomingEvents(filter)); } switch (Period) { case PeriodMatchingKind.Match: filter.StartDate = Start; filter.EndDate = End; break; case PeriodMatchingKind.Intersect: if (Start.HasValue) { filter.StartDateAfter = LocalDate.MinIsoValue; // to ensure event start date is set filter.EndDateIsNullOrAfter = Start; } if (End.HasValue) { filter.StartDateBefore = End; } break; case PeriodMatchingKind.Contain: if (Start.HasValue) { filter.StartDateAfter = Start; filter.EndDateIsNullOrAfter = Start; } if (End.HasValue) { filter.StartDateBefore = End; filter.EndDateIsNullOrBefore = End; } break; } return(filter); }