コード例 #1
0
        public async Task <ActionResult <PagingModelOutput <VideoCommentModelOutput> > > GetAll([FromRoute] int videoMediaId, [FromQuery][NotNegative] int offset = 0, [FromQuery][NotNegative] int limit = 50)
        {
            IEnumerable <VideoComment> videoComments = await _videoCommentData.GetAllByVideoMedia(videoMediaID : videoMediaId);

            IEnumerable <VideoComment>            videoCommentsFiltered = videoComments.Skip(offset).Take(limit);
            IEnumerable <VideoCommentModelOutput> videoCommentsOutput   = _mapper.Map <IEnumerable <VideoCommentModelOutput> >(videoCommentsFiltered);

            PagingModelOutput <VideoCommentModelOutput> result = new PagingModelOutput <VideoCommentModelOutput>()
            {
                Paging  = new PagingOutput(total: videoComments.Count(), offset: offset, limit: limit),
                Results = videoCommentsOutput
            };

            return(Ok(result));
        }
コード例 #2
0
        public async Task <ActionResult <PagingModelOutput <VideoMediaModelOutput> > > GetAll([FromQuery][NotNegative] int offset = 0, [FromQuery][NotNegative] int limit = 50)
        {
            IEnumerable <VideoMedia> videoMedias = await _videoMediaData.GetAll();

            IEnumerable <VideoComment> videoComments = await _videoCommentData.GetAll();

            IEnumerable <VideoMedia>            videoMediasFiltered = videoMedias.Skip(offset).Take(limit);
            IEnumerable <VideoMediaModelOutput> videoMediasOutput   = _mapper.Map <IEnumerable <VideoMediaModelOutput> >(videoMediasFiltered);

            foreach (VideoMediaModelOutput vmOutput in videoMediasOutput)
            {
                IEnumerable <VideoComment> commentsByVideoMedia = videoComments.Where(c => c.VideoMedia?.ID == vmOutput.ID);
                vmOutput.Comments = _mapper.Map <IEnumerable <VideoCommentModelOutput> >(commentsByVideoMedia);
            }

            PagingModelOutput <VideoMediaModelOutput> result = new PagingModelOutput <VideoMediaModelOutput>()
            {
                Paging  = new PagingOutput(total: videoMedias.Count(), offset: offset, limit: limit),
                Results = videoMediasOutput
            };

            return(Ok(result));
        }