public async Task <PagenatedList <CourseSaleReport> > Handle(GetSalesReportQuery request, CancellationToken cancellationToken) { var teacherCourseIds = _courseRepo.GetQueryable() .Where(x => x.TeacherId == _workContext.CurrentUserId).Select(x => x.Id).ToList(); var saleReports = _orderItemRepo.GetQueryable().Where(x => x.ProductType == ProductType.TeacherCourse && teacherCourseIds.Contains(x.ProductId)) .Select(x => new CourseSaleReport { UserFullName = x.Order.User.FullName }); return(new PagenatedList <CourseSaleReport> { Items = saleReports.Pagenate(request).ToList(), AllCount = saleReports.Count() }); }
public async Task <ActionResult <PagenatedList <CourseDto> > > GetSalesReport(GetSalesReportQuery query) { return(Ok(await _mediator.Send(query))); }