public async Task <IActionResult> GetEnrolments( [FromQuery] OrderingOption orderingOption, [FromQuery] PagingOption pagingOption ) { var specification = new EnrolmentsSpecification( orderingOption.GetOrderByInfos(), pagingOption.CurrentPage, pagingOption.PageSize ); var qro = await _uow.Repository <Enrolment>().Find(specification); if (qro == null || qro.QueryResult == null) { return(StatusCode(StatusCodes.Status500InternalServerError)); } return(Ok(_mapper.Map <EnrolmentsResultDTO>(qro))); }
public ValueTask <PagedResult <Lesson> > RetrieveEnrolledLessons( Guid studentId, SearchingOption searchingOption, OrderingOption orderingOption, PaginationOption paginationOption ) { var enrolments = _context.Set <Enrolment>().AsQueryable(); var enrolledLessons = enrolments .Include(enrolment => enrolment.Lesson) .Where(enrolment => enrolment.StudentId == studentId) .Select(enrolment => enrolment.Lesson); enrolledLessons = Searching(enrolledLessons, searchingOption); enrolledLessons = Ordering(enrolledLessons, orderingOption); return(Pagination(enrolledLessons, paginationOption)); }
public IQueryable <AttendanceSheet> Ordering( IQueryable <AttendanceSheet> source, OrderingOption orderingOption ) { if (orderingOption == null) { orderingOption = new OrderingOption(); } switch (orderingOption.OrderBy.ToLower()) { case "title": return(orderingOption.Desc ? source.OrderByDescending(source => source.Lesson.Title) : source.OrderBy(source => source.Lesson.Title)); default: return(orderingOption.Desc ? source.OrderByDescending(source => source.CreateDateTime) : source.OrderBy(source => source.CreateDateTime)); } }
public async Task <IActionResult> GetLessons( [FromQuery] SearchingOption searchingOption, [FromQuery] OrderingOption orderingOption, [FromQuery] PaginationOption paginationOption ) { try { var lessons = _uow.LessonRepository.RetrieveLessons( searchingOption, orderingOption, paginationOption ); return(Ok(_mapper.Map <PagedLessonDTO>(await lessons))); } catch (Exception e) { _logger.LogError($"Error in action `GetLessons()`. {e.Message}"); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <IActionResult> GetEnrolledStudents( [FromRoute] Guid lessonId, [FromQuery] SearchingOption searchingOption, [FromQuery] OrderingOption orderingOption, [FromQuery] PaginationOption paginationOption ) { try { var enrolledStudents = _uow.StudentRepository.RetrieveEnrolledStudents( lessonId, searchingOption, orderingOption, paginationOption ); return(Ok(_mapper.Map <PagedStudentDTO>(await enrolledStudents))); } catch (Exception e) { _logger.LogError($"Error in action `GetEnrolledStudents()`. {e.Message}"); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
/// <summary> /// Sets the ordering options for this query. Note that most providers do not support ordering. /// </summary> /// <param name="propertyNames"></param> /// <param name="option"></param> /// <param name="useAlias"></param> public void SetOrderingOption(IEnumerable<string> propertyNames, OrderingOption option, bool useAlias) { _OrderBy.Clear(); foreach (var p in propertyNames) { _OrderBy.Add((useAlias) ? this.ClassAlias + "." + p : p); } _OrderingOption = option; }
/// <summary> /// Sets the ordering options for this query. Note that most providers do not support ordering. /// </summary> /// <param name="propertyNames"></param> /// <param name="option"></param> public void SetOrderingOption(IEnumerable<string> propertyNames, OrderingOption option) { SetOrderingOption(propertyNames, option, !string.IsNullOrEmpty(this.ClassAlias)); }
public string IsChecked(OrderingOption orderingOption) { return(orderingOption == Ordering ? "checked" : null); }
/// <summary> /// Sets the ordering options for this query. Note that most providers do not support ordering. /// </summary> /// <param name="propertyNames"></param> /// <param name="option"></param> public void SetOrderingOption(IEnumerable <string> propertyNames, OrderingOption option) { SetOrderingOption(propertyNames, option, !string.IsNullOrEmpty(this.ClassAlias)); }