public virtual async Task <IActionResult> OnGetAsync() { if (Tenant == null || !Tenant.HasValue) { return(RedirectToPage("/Index")); } var month = Month; var year = Year; if (month == 0) { month = DateTime.Now.Month; } if (year == 0) { year = DateTime.Now.Year; } var command = new SessionCalendarQuery(User, Tenant.Value.Id, year, month); var result = await Mediator.Send(command); Items = result; return(Page()); }
protected async Task Load() { var startDate = Date; var endDate = startDate.AddDays(1); var command = new SessionCalendarQuery(User, Tenant.Value.Id, startDate, endDate); var result = await Mediator.Send(command); Items = result .OrderBy(i => i.StartTime) .ThenBy(i => i.GroupName, StringComparer.OrdinalIgnoreCase.WithNaturalSort()) .ThenBy(i => i.TopicTitle) .ToList(); }
public virtual async Task <IActionResult> OnGetAsync() { if (Tenant == null || !Tenant.HasValue) { return(RedirectToPage("/Index")); } var startDate = Date; var endDate = startDate.AddDays(1); var command = new SessionCalendarQuery(User, Tenant.Value.Id, startDate, endDate); var result = await Mediator.Send(command); Items = result .OrderBy(i => i.StartTime) .ThenBy(i => i.GroupName, StringComparer.OrdinalIgnoreCase.WithNaturalSort()) .ToList(); return(Page()); }
public virtual async Task <IActionResult> OnGetAsync() { if (Tenant == null || !Tenant.HasValue) { return(RedirectToPage("/Index")); } var week = Week; var year = Year; var now = DateTime.Now; var formatInfo = DateTimeFormatInfo.CurrentInfo; if (week == 0) { year = now.GetWeekOfYear(formatInfo); } if (year == 0) { year = now.Year; } var startDate = formatInfo.GetFirstDayOfWeek(year, week); var endDate = startDate.AddDays(6); ConfigureNext(formatInfo, startDate); var command = new SessionCalendarQuery(User, Tenant.Value.Id, startDate, endDate); var result = await Mediator.Send(command); Items = result .OrderBy(r => r.StartDate) .ThenBy(r => r.StartTime) .ThenBy(r => r.TopicTitle) .ToList(); return(Page()); }
protected override async Task <IReadOnlyCollection <SessionCalendarModel> > Process(SessionCalendarQuery request, CancellationToken cancellationToken) { var query = DataContext.Sessions .AsNoTracking() .Where(q => q.TenantId == request.TenantId) .Where(q => q.StartDate >= request.StartDate && q.StartDate < request.EndDate) .OrderBy(q => q.StartDate) .ThenBy(q => q.StartTime); var result = await query .ProjectTo <SessionCalendarModel>(Mapper.ConfigurationProvider) .ToListAsync(cancellationToken); return(result); }