protected void Page_Load(object sender, EventArgs args) { var dataAdapter = new ConferenceEventDataAdapter(new PortalContextDataAdapterDependencies(Portal, PortalName), PortalConference); var occurrences = dataAdapter.SelectEventOccurrences( PortalConference.GetAttributeValue <DateTime?>("adx_startingdate").GetValueOrDefault(DateTime.MinValue), PortalConference.GetAttributeValue <DateTime?>("adx_enddate").GetValueOrDefault(DateTime.MaxValue)).ToArray(); UpcomingEvents.DataSource = occurrences .OrderBy(e => e.Start); UpcomingEvents.DataBind(); }
protected void Page_Load(object sender, EventArgs args) { var @event = _portal.Value.Entity; if (@event == null || @event.LogicalName != "adx_event") { return; } var dataAdapter = new EventDataAdapter(@event, new PortalContextDataAdapterDependencies(_portal.Value, PortalName)); var now = DateTime.UtcNow; var occurrences = (PortalConference != null) ? dataAdapter.SelectEventOccurrences(PortalConference.GetAttributeValue <DateTime?>("adx_startingdate").GetValueOrDefault(now.AddMonths(-3)), PortalConference.GetAttributeValue <DateTime?>("adx_enddate").GetValueOrDefault(now.AddMonths(3))).ToArray() : dataAdapter.SelectEventOccurrences(now.AddMonths(-3), now.AddMonths(3)).ToArray(); IEventOccurrence requestOccurrence; RequestEventOccurrence = dataAdapter.TryMatchRequestEventOccurrence(Request, occurrences, out requestOccurrence) ? requestOccurrence : occurrences.Length == 1 ? occurrences.Single() : null; var user = _portal.Value.User; CanRegister = Request.IsAuthenticated && user != null && RequestEventOccurrence != null && RequestEventOccurrence.Start >= now && (@event.GetAttributeValue <EntityReference>("adx_conferenceid") != null && UserIsRegisteredForConference || @event.GetAttributeValue <EntityReference>("adx_conferenceid") == null); RequiresRegistration = (@event.GetAttributeValue <bool?>("adx_requiresregistration").GetValueOrDefault() || @event.GetAttributeValue <EntityReference>("adx_conferenceid") != null && UserIsRegisteredForConference) && RequestEventOccurrence != null && RequestEventOccurrence.Start >= now; if (CanRegister) { var registration = _portal.Value.ServiceContext.CreateQuery("adx_eventregistration") .FirstOrDefault(e => e.GetAttributeValue <EntityReference>("adx_attendeeid") == user.ToEntityReference() && e.GetAttributeValue <EntityReference>("adx_eventscheduleid") == RequestEventOccurrence.EventSchedule.ToEntityReference()); if (registration != null) { Unregister.CommandArgument = registration.Id.ToString(); IsRegistered = true; } } OtherOccurrences.DataSource = occurrences .Where(e => e.Start >= now) .Where(e => RequestEventOccurrence == null || !(e.EventSchedule.Id == RequestEventOccurrence.EventSchedule.Id && e.Start == RequestEventOccurrence.Start)); OtherOccurrences.DataBind(); var sessionEvent = @event; Speakers.DataSource = sessionEvent.GetRelatedEntities(_portal.Value.ServiceContext, new Relationship("adx_eventspeaker_event")); Speakers.DataBind(); }