示例#1
0
        public async Task <IActionResult> GetAllParametedTrainingsAsync(int userId, [FromQuery] TrainingParams trainingParams)
        {
            var trainings = await _unitOfWork.Trainings.GetAllParametedTrainingsAsync(userId, trainingParams);

            if (trainings.Count == 0)
            {
                return(NoContent());
            }

            var trainingsToReturn = _mapper.Map <IEnumerable <TrainingForReturnDTO> >(trainings);

            return(Ok(trainingsToReturn));
        }
示例#2
0
        public async Task <PagedList <TrainingModel> > GetAllParametedTrainingsAsync(int userId, TrainingParams trainingParams)
        {
            var trainings = _dataContext.TrainingModel
                            .Where(t => t.OwnerId == userId)
                            .OrderByDescending(t => t.Name);

            if (!string.IsNullOrEmpty(trainingParams.OrderBy))
            {
                switch (trainingParams.OrderBy)
                {
                case "id":
                    trainings = trainings.OrderBy(t => t.TrainingId);
                    break;

                default:
                    trainings = trainings.OrderByDescending(t => t.Name);
                    break;
                }
            }

            return(await PagedList <TrainingModel> .CreateListAsync(trainings, trainingParams.PageSize, trainingParams.PageNumber));
        }