private Actor.ActorConventionState?LoadConvention(string conventionId, IDocumentSession _session)
        {
            var stopwatch = Stopwatch.StartNew();

            using (_session.Advanced.DocumentStore.AggressivelyCacheFor(TimeSpan.FromDays(1)))
            {
                if (conventionId.IsEmptyString())
                {
                    return(null);
                }

                var convention = _session
                                 .Include <Convention>(x => x.DayIds)
                                 .Include <Convention>(x => x.HallIds)
                                 .Include <Convention>(x => x.TicketIds)
                                 .Load <Convention>(conventionId);

                if (convention == null)
                {
                    return(null);
                }

                var halls   = _session.Load <Hall>(convention.HallIds);
                var tickets = _session.Load <Ticket>(convention.TicketIds);
                var days    = _session.Load <Day>(convention.DayIds);

                var result = new Actor.ActorConventionState
                {
                    ConventionId   = convention.Id,
                    ConventionName = convention.Name,
                    Location       = convention.Location,
                    TagLine        = convention.TagLine,
                    TimeStrategy   = convention.TimeStrategy,
                    Settings       = convention.Settings,

                    Halls   = halls.Where(x => x.Value != null).Select(x => x.Value).ToList(),
                    Days    = days.Where(x => x.Value != null).Select(x => x.Value).ToList(),
                    Tickets = tickets.Where(x => x.Value != null).Select(x => x.Value).ToList()
                };

                stopwatch.Stop();
                result.BuildMilliseconds = stopwatch.ElapsedMilliseconds;
                return(result);
            }
        }
 private Actor.ActorDropDowns LoadDropDowns(IStrategyFactory factory, Actor.ActorConventionState convention, Actor.ActorSystemState system)
 {
     return(new Actor.ActorDropDowns(factory, convention, system));
 }