Example #1
0
        public async Task <ActionResult <StoryResponse> > Get([FromQuery] StoryParameters storyParameters)
        {
            StoryResponse response = new StoryResponse();
            var           result   = await _storyRep.GetStories(storyParameters);

            response.Stories    = result;
            response.Parameters = storyParameters;

            return(Ok(response));
        }
        public async Task <IActionResult> GetStories([FromQuery] StoryParameters storyParameters)
        {
            var getAllStoriesQuery = new GetAllStoriesQuery(storyParameters);
            var result             = await mediator.Send(getAllStoriesQuery);

            if (result.Code == HttpStatusCode.OK)
            {
                Response.Headers.Add("X-Pagination", PagedList <Entity> .ToJson(result.Value as PagedList <Entity>));
            }

            return(StatusCode((int)result.Code, result.Value));
        }
Example #3
0
        public void Setup()
        {
            storyService = new StoryService(mockCache.Object, mockDataAccess.Object);
            storyService.SetBypassCache(true);
            storyParameters          = new StoryParameters();
            storyParameters.PageSize = DEFAULT_PAGE_SIZE;

            createJsonObjects();

            mockDataAccess.Setup(s => s.GetExternalResponseAsync(string.Format(STORY_ITEM_URL, "1"))).ReturnsAsync(TESTITEM1);
            mockDataAccess.Setup(s => s.GetExternalResponseAsync(string.Format(STORY_ITEM_URL, "2"))).ReturnsAsync(TESTITEM2);
            mockDataAccess.Setup(s => s.GetExternalResponseAsync(string.Format(STORY_ITEM_URL, "3"))).ReturnsAsync(TESTITEM3);
            mockDataAccess.Setup(s => s.GetExternalResponseAsync(string.Format(STORY_ITEM_URL, "4"))).ReturnsAsync(TESTITEM4);
            mockDataAccess.Setup(s => s.GetExternalResponseAsync(string.Format(STORY_ITEM_URL, "5"))).ReturnsAsync(TESTITEM5);
            mockDataAccess.Setup(s => s.GetExternalResponseAsync(string.Format(STORY_ITEM_URL, "6"))).ReturnsAsync(TESTITEM6);
            mockDataAccess.Setup(s => s.GetExternalResponseAsync(string.Format(STORY_ITEM_URL, "0"))).ReturnsAsync(nullString);
        }
        /// <summary>
        /// Gets all storiess.
        /// </summary>
        /// <param name="storyParameters">The story parameters.</param>
        /// <returns></returns>
        public async Task <PagedList <Entity> > GetAllStories(StoryParameters storyParameters)
        {
            var getStoriesParams = new object[] {
                new MySqlParameter("@limit", storyParameters.PageSize),
                new MySqlParameter("@offset", (storyParameters.PageNumber - 1) * storyParameters.PageSize),
                new MySqlParameter("@searchKeyword", storyParameters.SearchKeyword),
                new MySqlParameter("@fromDate", storyParameters.FromDate),
                new MySqlParameter("@toDate", storyParameters.ToDate)
            };

            var stories = await FindAll("CALL GetAllStories(@limit, @offset, @searchKeyword, @fromDate, @toDate)", getStoriesParams).ToListAsync();

            var mappedStories = stories.AsQueryable().ProjectTo <StoryResponse>(mapper.ConfigurationProvider);
            var sortedStories = sortHelper.ApplySort(mappedStories, storyParameters.OrderBy);
            var shapedStories = dataShaper.ShapeData(sortedStories, storyParameters.Fields);

            return(await PagedList <Entity> .ToPagedList(shapedStories, storyParameters.PageNumber, storyParameters.PageSize));
        }
Example #5
0
        public async Task <IList <Story> > GetStories(StoryParameters storyParameters)
        {
            List <Story> stories   = new List <Story>();
            var          storydtos = await _storyService.GetStories(storyParameters);

            if (storydtos == null)
            {
                //Log statement
                return(stories);
            }

            foreach (StoryDTO dto in storydtos)
            {
                var story = MapDTOToItem(dto);
                stories.Add(story);
            }

            return(stories);
        }
Example #6
0
        public async Task <IList <StoryDTO> > GetStories(StoryParameters storyParameters)
        {
            var newestStoryIds = await getNewestStoryIdList();

            // No stories were returned
            if (newestStoryIds == null)
            {
                return(null);
            }

            List <StoryDTO> stories = await getStoryDTOList(newestStoryIds);

            // No stories to return
            if (stories == null)
            {
                return(null);
            }

            if (!string.IsNullOrEmpty(storyParameters.Search))
            {
                stories = applySearchFilter(stories, storyParameters.Search);

                // No stories to return
                if (stories == null)
                {
                    return(null);
                }
            }

            List <StoryDTO> pagedStories = applyPaging(storyParameters.PageNumber, storyParameters.PageSize, stories);

            // No results on this page
            if (pagedStories == null)
            {
                return(null);
            }

            storyParameters.TotalElements = stories.Count;
            return(pagedStories);
        }
Example #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GetAllStoriesQuery"/> class.
 /// </summary>
 /// <param name="storyParameters">The story parameters.</param>
 public GetAllStoriesQuery(StoryParameters storyParameters)
 {
     StoryParameters = storyParameters;
 }
Example #8
0
 public void Setup()
 {
     _service    = new StoryServiceFake();
     _controller = new StoriesController(_service);
     _parameters = new StoryParameters();
 }
Example #9
0
 Task <IList <StoryDTO> > IStoryService.GetStories(StoryParameters storyParameters)
 {
     return(Task.FromResult((IList <StoryDTO>)stories));
 }