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)); }