예제 #1
0
        public void GetTasks_adds_links()
        {
            var requestInfo = new PagedDataRequest(PageNumber, PageSize);
            var taskEntity  = new Task {
                TaskId = 300
            };
            var queriedItems = new[] { taskEntity };
            var queryResult  = new QueryResult <Task>(queriedItems, queriedItems.Count(), PageSize);

            var task = new Models.Task {
                TaskId = taskEntity.TaskId
            };
            var tasks = new[] { task };

            _allTasksQueryProcessorMock.Setup(x => x.GetTasks(requestInfo)).Returns(queryResult);
            _inquiryProcessor.GetTasksTestDouble = items => items == queriedItems ? tasks : null;

            var linksWereAdded = false;

            _inquiryProcessor.AddLinksToInquiryResponseTestDouble =
                response => linksWereAdded = tasks.SequenceEqual(response.Items)
                                             &&
                                             response.PageCount ==
                                             queryResult.TotalPageCount &&
                                             response.PageNumber == PageNumber &&
                                             response.PageSize == PageSize;

            _inquiryProcessor.GetTasks(requestInfo);

            Assert.IsTrue(linksWereAdded);
        }
예제 #2
0
        public QueryResult <User> GetUsers(PagedDataRequest requestInfo)
        {
            var query          = _session.QueryOver <User>();
            var totalItemCount = query.ToRowCountQuery().RowCount();
            var startIndex     = ResultsPagingUtility.CalculateStartIndex(requestInfo.PageNumber, requestInfo.PageSize);
            var users          = query.Skip(startIndex).Take(requestInfo.PageSize).List();
            var queryResult    = new QueryResult <User>(users, totalItemCount, requestInfo.PageSize);

            return(queryResult);
        }
 public QueryResult<Task> GetTasks(PagedDataRequest requestInfo)
 {
     var query = _session.QueryOver<Task>();
     var totalItemCount = query.ToRowCountQuery().RowCount();
     var startIndex = ResultsPagingUtility.CalculateStartIndex(requestInfo.PageNumber,
         requestInfo.PageSize);
     var tasks = query.Skip(startIndex).Take(requestInfo.PageSize).List();
     var queryResult = new QueryResult<Task>(tasks, totalItemCount, requestInfo.PageSize);
     return queryResult;
 }
예제 #4
0
        public QueryResult <Broker> GetBrokers(PagedDataRequest requestInfo)
        {
            var startIndex     = ResultsPagingUtility.CalculateStartIndex(requestInfo.PageNumber, requestInfo.PageSize);
            var context        = new InformingDBContext();
            var query          = context.Brokers;
            var totalItemCount = query.Count();
            var brokers        = query.Skip(startIndex).Take(requestInfo.PageSize).ToList();
            var queryResult    = new QueryResult <Broker>(brokers, totalItemCount, requestInfo.PageSize);

            return(queryResult);
        }
예제 #5
0
        public void GetTasks_returns_correct_response()
        {
            var requestMessage = HttpRequestMessageFactory.CreateRequestMessage();
            var request        = new PagedDataRequest(1, 25);
            var response       = new PagedDataInquiryResponse <Task>();

            _mockBlock.PagedDataRequestFactoryMock.Setup(
                x => x.Create(requestMessage.RequestUri)).Returns(request);
            _mockBlock.AllTasksInquiryProcessorMock.Setup(x => x.GetTasks(request)).Returns(response);
            var actualResponse = _controller.GetTasks(requestMessage);

            Assert.AreSame(response, actualResponse);
        }
예제 #6
0
        public PagedDataInquiryResponse <Task> GetTasks(PagedDataRequest requestInfo)
        {
            var queryResult     = _queryProcessor.GetTasks(requestInfo);
            var tasks           = GetTasks(queryResult.QueriedItems).ToList();
            var inquiryResponse = new PagedDataInquiryResponse <Task>
            {
                Items      = tasks,
                PageCount  = queryResult.TotalPageCount,
                PageNumber = requestInfo.PageNumber,
                PageSize   = requestInfo.PageSize
            };

            return(inquiryResponse);
        }
        public QueryResult<Game> GetGames(PagedDataRequest requestInfo)
        {
            // IQueryOver instance provides queryable access to the table: haven't fetched any data from database yet.
            var query = _session.QueryOver<Game>();

            // Queries the database
            var totalItemCount = query.ToRowCountQuery().RowCount();

            var startIndex = ResultsPagingUtility.CalculateStartIndex(requestInfo.PageNumber, requestInfo.PageSize);

            // Only 1 page of data is fetched from the database
            var games = query.Skip(startIndex).Take(requestInfo.PageSize).List();

            var queryResult = new QueryResult<Game>(games, totalItemCount, requestInfo.PageSize);

            return queryResult;
        }
        public QueryResult <Task> GetTasks(PagedDataRequest requestInfo)
        {
            using (TaskManagementDbContext context = new TaskManagementDbContext())
            {
                var query = context.Tasks;  //  _session.QueryOver<Task>();

                var totalItemCount = query.Count();

                var startIndex = ResultsPagingUtility.CalculateStartIndex(requestInfo.PageNumber, requestInfo.PageSize);

                var tasks = query.Skip(startIndex).Take(requestInfo.PageSize).ToList();

                var queryResult = new QueryResult <Task>(tasks, totalItemCount, requestInfo.PageSize);

                return(queryResult);
            }
        }
예제 #9
0
        public PagedUserDataInquiryResponse GetUsers(PagedDataRequest requestInfo)
        {
            var queryResult = _dataProcessor.GetUsers(requestInfo);
            var users       = GetUsers(queryResult.QueriedItems).ToList();

            var inquiryResponse = new PagedUserDataInquiryResponse
            {
                Items      = users,
                PageCount  = queryResult.TotalPageCount,
                PageNumber = requestInfo.PageNumber,
                PageSize   = requestInfo.PageSize
            };

            AddLinksToInquiryResponse(inquiryResponse);

            return(inquiryResponse);
        }
        public PagedDataInquiryResponse <FutureContract> GetContracts(PagedDataRequest requestInfo)
        {
            var queryResult     = _queryProcessor.GetFutureContracts(requestInfo);
            var contracts       = GetContracts(queryResult.QueriedItems).ToList();
            var inquiryResponse = new PagedFutureContractDataInquiryResponse {
                Items      = contracts,
                PageCount  = queryResult.TotalPageCount,
                PageNumber = requestInfo.PageNumber,
                PageSize   = requestInfo.PageSize
            };

            if (!requestInfo.ExcludeLinks)
            {
                AddLinksToInquiryResponse(inquiryResponse);
            }
            return(inquiryResponse);
        }
        public PagedDataInquiryResponse <Broker> GetBrokers(PagedDataRequest requestInfo)
        {
            var queryResult = _queryProcessor.GetBrokers(requestInfo);

            var brokers = GetBrokers(queryResult.QueriedItems).ToList();

            var inquiryResponse = new PagedBrokerDataInquiryResponse {
                Items      = brokers,
                PageCount  = queryResult.TotalPageCount,
                PageNumber = requestInfo.PageNumber,
                PageSize   = requestInfo.PageSize
            };

            if (!requestInfo.ExcludeLinks)
            {
                AddLinksToInquiryResponse(inquiryResponse);
            }

            return(inquiryResponse);
        }
예제 #12
0
        public void GetTasks_returns_correct_result()
        {
            var requestInfo = new PagedDataRequest(PageNumber, PageSize);
            var taskEntity  = new Task {
                TaskId = 300
            };
            var queriedItems = new[] { taskEntity };
            var queryResult  = new QueryResult <Task>(queriedItems, queriedItems.Count(), PageSize);
            var task         = new Models.Task {
                TaskId = taskEntity.TaskId
            };
            var tasks = new[] { task };

            _allTasksQueryProcessorMock.Setup(x => x.GetTasks(requestInfo)).Returns(queryResult);
            _inquiryProcessor.GetTasksTestDouble = items => items == queriedItems ? tasks : null;
            var actualResult = _inquiryProcessor.GetTasks(requestInfo);

            Assert.IsTrue(tasks.SequenceEqual(actualResult.Items), "Incorrect Items in result");
            Assert.AreEqual(queryResult.TotalPageCount, actualResult.PageCount, "Incorrect PageCount in result");
            Assert.AreEqual(PageNumber, actualResult.PageNumber, "Incorrect PageNumber in result");
            Assert.AreEqual(PageSize, actualResult.PageSize, "Incorrect PageSize in result");
        }
예제 #13
0
 public QueryResult <Task> GetTasks(PagedDataRequest requestInfo)
 {
     throw new System.NotImplementedException();
 }
 public QueryResult<Task> GetTasks(PagedDataRequest requestInfo)
 {
     throw new System.NotImplementedException();
 }