public override async Task Execute() { Result = new HomeDisplay() { Name = CurrentUser.Name, Id = CurrentUser.Id }; var attendanceQuery = Session.Query <AttendanceMaster, AttendanceIndex>() .ProjectInto <AttendanceMaster>() .Take(128) .Skip(0) .Where(a => a.When > DateHelper.FormatDayStart(DateTime.UtcNow) && a.When < DateHelper.FormatDayEnd(DateTime.UtcNow.AddDays(Forward)) && a.UserId == CurrentUser.Id && a.TenantId == CurrentUser.TenantId) .OrderByDescending(a => a.DateModified); var attendanceResult = AttendanceDisplayProjection.Transform(attendanceQuery).LazilyAsync(); var msgQuery = Session.Query <MsgMaster, MsgIndex>() .ProjectInto <MsgMaster>() .Take(5) .Skip(0) .Where(m => m.Recipients.Contains(CurrentUser.Id) && m.TenantId == CurrentUser.TenantId) .OrderByDescending(a => a.DateModified); var msgResult = MsgDisplayTrans.Transform(msgQuery).LazilyAsync(); Result.Attendances = await attendanceResult.Value; Result.Msgs = await msgResult.Value; }
public override async Task Execute() { var query = Session.Query <AttendanceMaster, AttendanceIndex>() .ProjectInto <AttendanceMaster>() .Statistics(out QueryStatistics stats) .Take(Filter.Take) .Skip(Filter.Skip * Filter.Take) .OrderByDescending(a => a.DateModified); if (Filter.DateFrom > DateTime.MinValue || Filter.DateTo > DateTime.MaxValue) { query = query.Where(v => v.When > Filter.DateFrom && v.When < Filter.DateTo); } if (Filter.ParticipantKeys.Any()) { query = query.Where(v => v.UserId.In(Filter.ParticipantKeys)); } query = await Init(query, Filter, "attendance"); Result = await AttendanceDisplayProjection.Transform(query).ToListAsync(); Process(Filter, stats); }
public override async Task Execute() { Result = await AttendanceDisplayProjection .Transform(Session.Query <AttendanceMaster, AttendanceIndex>().Where(c => c.Id == Id)) .FirstOrDefaultAsync(); }