Esempio n. 1
0
        public ActionResult <IEnumerable <Speaker> > GetSpeakers()
        {
            var speakersFromRepo = speakerRepository.GetSpeakers();

            //should map from a dto //call dto instead of model
            return(Ok(speakersFromRepo));
        }
Esempio n. 2
0
        public async Task <List <SpeakerResponse> > GetSpeakers()
        {
            var speakers = await _repository.GetSpeakers();

            List <SpeakerResponse> speakerResponses = new List <SpeakerResponse>();

            speakers.ForEach(s => speakerResponses.Add(new SpeakerResponse(s)));

            return(speakerResponses);
        }
Esempio n. 3
0
        public IActionResult GetSpeakers([FromQuery] SpeakerResourceParameters speakersParam)
        {
            var speakersFromRepo = _speakerRepository.GetSpeakers(speakersParam);
            //map from repo to DTO
            var paginationMetadata = new
            {
                totalCount  = speakersFromRepo.TotalCount,
                pageSize    = speakersFromRepo.PageSize,
                currentPage = speakersFromRepo.CurrentPage,
                totalPages  = speakersFromRepo.TotalPages
            };

            Response.Headers.Add("X-Pagination", JsonSerializer.Serialize(paginationMetadata));
            //response.Headers.Add("X-Paging-PageNo", pageNo.ToString());
            //response.Headers.Add("X-Paging-PageSize", pageSize.ToString());
            //response.Headers.Add("X-Paging-PageCount", pageCount.ToString());
            //response.Headers.Add("X-Paging-TotalRecordCount", total.ToString());
            var links = CreateLinksForSpeakers(speakersParam,
                                               speakersFromRepo.HasNext,
                                               speakersFromRepo.HasPrevious);

            var shapedSpeakers = _mapper.Map <IEnumerable <SpeakerDto> >(speakersFromRepo)
                                 .ShapeData();

            var speakerWithLinks = shapedSpeakers.Select(speaker =>
            {
                var speakerAsDictionary = speaker as IDictionary <string, object>;
                var speakerLinks        = CreateLinksForSpeaker((int)speakerAsDictionary["Id"]);
                speakerAsDictionary.Add("links", speakerLinks);
                return(speakerAsDictionary);
            });

            var linkedResource = new
            {
                value = speakerWithLinks,
                links
            };

            return(Ok(linkedResource));
        }
 public IEnumerable <Speaker> Get()
 {
     return(_speakerRepository.GetSpeakers());
 }
Esempio n. 5
0
 public IPageOfItems <Speaker> GetSpeakers(Event evnt, SpeakerFilterCriteria speakerFilterCriteria)
 {
     return(repository.GetSpeakers(new PagingInfo(speakerFilterCriteria.PageIndex, speakerFilterCriteria.PageSize), evnt, speakerFilterCriteria));
 }
Esempio n. 6
0
 public IPageOfItems <Speaker> GetSpeakers(EventAddress eventAddress, SpeakerFilterCriteria speakerFilterCriteria)
 {
     return(repository.GetSpeakers(null, speakerFilterCriteria).GetPage(speakerFilterCriteria.PageIndex, speakerFilterCriteria.PageSize));
 }