Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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);
        }