Ejemplo n.º 1
0
        public override async Task Execute()
        {
            var tenantQuery = TenantStatProjection
                              .Transform(Session.Query <TenantStat, TenantStatIndex>().Where(c => c.Id == Id)).Take(1).LazilyAsync();
            var favQuery = Session.Query <FavMaster, FavFanIndex>().Where(c => c.Id == Id).CountLazilyAsync();

            var tenantResult = await tenantQuery.Value;
            var favResult    = await favQuery.Value;

            Result           = tenantResult.FirstOrDefault();
            Result.Favourite = favResult > 0;
        }
Ejemplo n.º 2
0
        public override async Task Execute()
        {
            var query = Session.Query <TenantStat, TenantStatIndex>()
                        .ProjectInto <TenantStat>()
                        .Statistics(out QueryStatistics stats)
                        .Take(Filter.Take)
                        .Skip(Filter.Skip * Filter.Take)
                        .OrderBy(a => a.Name);

            if (Filter.AuthorKeys.Any())
            {
                query = query.Where(v => v.AuthorId.In(Filter.AuthorKeys));
            }

            query = await Init(query, Filter, "tenant");

            Result = await TenantStatProjection.Transform(query).ToListAsync();

            Process(Filter, stats);
        }
Ejemplo n.º 3
0
        public override async Task Execute()
        {
            Result = new StatsDisplay()
            {
                Name = CurrentUser.TenantName, Id = CurrentUser.TenantId
            };

            var meetingQuery = Session.Query <MeetingMaster, MeetingIndex>()
                               .ProjectInto <MeetingMaster>()
                               .Take(128)
                               .Skip(0)
                               .Where(a => a.When > DateHelper.FormatDayStart(DateTime.UtcNow.AddDays(-Back)) &&
                                      a.When < DateHelper.FormatDayEnd(DateTime.UtcNow) && a.TenantId == CurrentUser.TenantId)
                               .OrderByDescending(a => a.DateModified);

            var meetingResult = MeetingDisplayProjection.Transform(meetingQuery).LazilyAsync();

            var msgQuery = Session.Query <MsgMaster, MsgIndex>()
                           .ProjectInto <MsgMaster>()
                           .Take(5)
                           .Skip(0)
                           .Where(m => m.DateCreated > DateHelper.FormatDayStart(DateTime.UtcNow.AddDays(-Back)) &&
                                  m.TenantId == CurrentUser.TenantId)
                           .OrderByDescending(a => a.DateModified);

            var msgResult = MsgDisplayTrans.Transform(msgQuery).LazilyAsync();

            var tenantQuery = TenantStatProjection
                              .Transform(Session.Query <TenantStat, TenantStatIndex>().Where(c => c.Id == CurrentUser.TenantId))
                              .Take(1).LazilyAsync();

            var tenantResult = await tenantQuery.Value;

            Result.Meetings = await meetingResult.Value;
            Result.Msgs     = await msgResult.Value;
            Result.Tenant   = tenantResult.FirstOrDefault();
        }