Ejemplo n.º 1
0
        public async Task <PagedList <PerfLogCollection> > GetAll(PerfLogCollectionSearch perfLogDisplaySearch)
        {
            var perfLogFromRepo = await _perfLogService.GetAll(perfLogDisplaySearch);

            var teams  = _mapper.Map <List <PerfLogCollection> >(perfLogFromRepo);
            var result = PagedList <PerfLogCollection> .Create(teams, perfLogDisplaySearch.PageNumber, perfLogDisplaySearch.PageSize);

            return(result);
        }
Ejemplo n.º 2
0
        public async Task GetAll()
        {
            //arrange
            var perfLogRepository    = new PerfLogRepository(_context, PollyTestFactory.CreateAsyncRetryPolicy());
            var perfLogDisplaySearch = new PerfLogCollectionSearch();
            //act
            var value = await perfLogRepository.GetAll(perfLogDisplaySearch);

            //assert
            Assert.Equal(7, value.Count());
        }
Ejemplo n.º 3
0
 private string CreateGetLink(PerfLogCollectionSearch perfLogDisplaySearch, int pageNumber)
 {
     return(Url.Link("GetPerfLogs",
                     new PerfLogCollectionSearch()
     {
         PageNumber = pageNumber,
         PageSize = perfLogDisplaySearch.PageSize,
         Assembly = perfLogDisplaySearch.Assembly,
         PerfItem = perfLogDisplaySearch.PerfItem,
         RequestPath = perfLogDisplaySearch.RequestPath
     }));
 }
Ejemplo n.º 4
0
        public async Task Refresh()
        {
            var search = new PerfLogCollectionSearch()
            {
                Assembly       = Assembly,
                PerfItem       = PerfItem,
                PageSize       = ShowPageSize,
                OrderBy        = OrderBy,
                OrderAscending = OrderAscending,
                PageNumber     = PageNumber,
            };

            PerfLogPagedList = Mapper.Map <PerfLogPagedList>(await PerfLogDisplayService.PerfLogDisplaySearch(search));
        }
Ejemplo n.º 5
0
        public async Task GetAll_PerfItemSearch_Count(string perfItem, int expected)
        {
            //arrange
            var perfLogRepository    = new PerfLogRepository(_context, PollyTestFactory.CreateAsyncRetryPolicy());
            var perfLogDisplaySearch = new PerfLogCollectionSearch()
            {
                PerfItem = perfItem
            };
            //act
            var value = await perfLogRepository.GetAll(perfLogDisplaySearch);

            //assert
            Assert.Equal(expected, value.Count());
        }
Ejemplo n.º 6
0
        public async Task GetAll_Search_Count()
        {
            //arrange
            var perfLogRepository    = new PerfLogRepository(_context, PollyTestFactory.CreateAsyncRetryPolicy());
            var perfLogDisplaySearch = new PerfLogCollectionSearch()
            {
                Assembly = "Hippologamus.API",
                DateFrom = new DateTime(2020, 1, 3),
                DateTo   = new DateTime(2020, 1, 4)
            };
            //act
            var value = await perfLogRepository.GetAll(perfLogDisplaySearch);

            //assert
            Assert.Equal(2, value.Count());
        }
Ejemplo n.º 7
0
        private IEnumerable <RootLink> CreateGetLinks(PerfLogCollectionSearch perfLogDisplaySearch, bool hasNext, bool hasPrevious)
        {
            var links = new List <RootLink>
            {
                new RootLink(CreateGetLink(perfLogDisplaySearch, perfLogDisplaySearch.PageNumber), "self", "GET")
            };

            if (hasNext)
            {
                links.Add(new RootLink(CreateGetLink(perfLogDisplaySearch, perfLogDisplaySearch.PageNumber + 1), "nextPage", "GET"));
            }

            if (hasPrevious)
            {
                links.Add(new RootLink(CreateGetLink(perfLogDisplaySearch, perfLogDisplaySearch.PageNumber - 1), "previousPage", "GET"));
            }


            return(links);
        }
Ejemplo n.º 8
0
        public async Task GetAll_Search_OrderByElapsedMillisecondsOrderDescending()
        {
            //arrange
            var perfLogRepository    = new PerfLogRepository(_context, PollyTestFactory.CreateAsyncRetryPolicy());
            var perfLogDisplaySearch = new PerfLogCollectionSearch()
            {
                OrderBy        = "ElapsedMilliseconds",
                OrderAscending = false
            };
            //act
            var value = await perfLogRepository.GetAll(perfLogDisplaySearch);

            //assert
            Assert.Equal(6, value[0].Id);
            Assert.Equal(4, value[1].Id);
            Assert.Equal(2, value[2].Id);
            Assert.Equal(7, value[3].Id);
            Assert.Equal(5, value[4].Id);
            Assert.Equal(3, value[5].Id);
            Assert.Equal(1, value[6].Id);
        }
Ejemplo n.º 9
0
        public async Task <ActionResult> Get([FromQuery]  PerfLogCollectionSearch perfLogDisplaySearch)
        {
            perfLogDisplaySearch.RequestPath = string.IsNullOrEmpty(perfLogDisplaySearch.RequestPath) ? "" : perfLogDisplaySearch.RequestPath.Replace("%", "/");

            var perfLogs = await _perfLogManager.GetAll(perfLogDisplaySearch);

            var paginationMetadata = new
            {
                totalCount  = perfLogs.TotalCount,
                pageSize    = perfLogs.PageSize,
                currentPage = perfLogs.CurrentPage,
                totalPages  = perfLogs.TotalPages
            };

            Response.Headers.Add("X-Pagination", JsonSerializer.Serialize(paginationMetadata));
            var links            = CreateGetLinks(perfLogDisplaySearch, perfLogs.HasNext, perfLogs.HasPrevious);
            var perfLogsToReturn = new
            {
                Value = perfLogs,
                Links = links
            };

            return(Ok(perfLogsToReturn));
        }
Ejemplo n.º 10
0
        public async Task <PerfLogCollectionResponce> PerfLogDisplaySearch(PerfLogCollectionSearch search)
        {
            var response = await _httpClient.GetAsync($"api/PerfLogs?{ObjectToURLStringFactory.Create(search)}");

            return(await ConvertResponseToPerfLogCollectionResponce(response));
        }
Ejemplo n.º 11
0
        public async Task <List <PerfLog> > GetAll(PerfLogCollectionSearch perfLogDisplaySearch)
        {
            var            query  = _context.PerfLogs.AsQueryable();
            List <PerfLog> result = null;

            if (!string.IsNullOrEmpty(perfLogDisplaySearch.Assembly))
            {
                query = query.Where(x => x.Assembly == perfLogDisplaySearch.Assembly);
            }
            if (!string.IsNullOrEmpty(perfLogDisplaySearch.PerfItem))
            {
                query = query.Where(x => x.PerfItem == perfLogDisplaySearch.PerfItem);
            }
            if (!string.IsNullOrEmpty(perfLogDisplaySearch.RequestPath))
            {
                query = query.Where(x => x.RequestPath == perfLogDisplaySearch.RequestPath);
            }
            if (perfLogDisplaySearch.DateFrom != null)
            {
                query = query.Where(x => x.TimeStamp >= perfLogDisplaySearch.DateFrom);
            }
            if (perfLogDisplaySearch.DateTo != null)
            {
                query = query.Where(x => x.TimeStamp <= perfLogDisplaySearch.DateTo);
            }

            if (perfLogDisplaySearch.OrderBy == "TimeStamp")
            {
                if (perfLogDisplaySearch.OrderAscending)
                {
                    query = query.OrderBy(x => x.TimeStamp);
                }
                else
                {
                    query = query.OrderByDescending(x => x.TimeStamp);
                }
            }

            if (perfLogDisplaySearch.OrderBy == "MachineName")
            {
                if (perfLogDisplaySearch.OrderAscending)
                {
                    query = query.OrderBy(x => x.MachineName);
                }
                else
                {
                    query = query.OrderByDescending(x => x.MachineName);
                }
            }

            if (perfLogDisplaySearch.OrderBy == "ElapsedMilliseconds")
            {
                if (perfLogDisplaySearch.OrderAscending)
                {
                    query = query.OrderBy(x => x.ElapsedMilliseconds);
                }
                else
                {
                    query = query.OrderByDescending(x => x.ElapsedMilliseconds);
                }
            }

            await _retryPolicy.ExecuteAsync(async() =>
            {
                result = await query.ToListAsync();
            });

            return(result);
        }
Ejemplo n.º 12
0
 public async Task <List <PerfLog> > GetAll(PerfLogCollectionSearch perfLogDisplaySearch)
 {
     return(await _perfLogRepository.GetAll(perfLogDisplaySearch));
 }