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)));
 }