public async Task <IActionResult> GetAllTimetables()
        {
            var query  = new GetAllTimetablesQuery();
            var result = await _mediator.Send(query);

            return(Ok(result));
        }
        public async Task <Response <IEnumerable <TimetableDto> > > Handle(GetAllTimetablesQuery request, CancellationToken cancellationToken)
        {
            var timetables = await _timetableRespositoryAsync.GetAllTimetablesAsync();

            var timetablesDto = _mapper.Map <IEnumerable <TimetableDto> >(timetables);

            return(new Response <IEnumerable <TimetableDto> >(timetablesDto));
        }
        public async Task <List <TimetableDto> > Handle(GetAllTimetablesQuery request, CancellationToken cancellationToken)
        {
            var timetablesList = await _dbContext
                                 .Timetables
                                 .ToListAsync(cancellationToken);

            var classTypesList = await _dbContext.ClassTypes
                                 .ToListAsync(cancellationToken);

            var timetablesDtoList = new List <TimetableDto>();

            foreach (var timetable in timetablesList)
            {
                var timetableDto = timetable.Adapt <TimetableDto>();
                timetableDto.ClassTypeName =
                    classTypesList.FirstOrDefault(x => x.ClassTypeId == timetable.ClassTypeId)?.Name;

                timetablesDtoList.Add(timetableDto);
            }

            return(timetablesDtoList);
        }