Example #1
0
        public void GetTickets_gets_query_provider_from_factory(IGetsTicketSpecification specProvider,
                                                                ISpecificationExpression <Ticket> spec,
                                                                IGetsQueryForTickets queryProvider,
                                                                TicketListRequest request)
        {
            // Arrange
            var queryProviderFactoryUsed = false;
            var specFactory          = GetSpecFactory(s => specProvider);
            var queryProviderFactory = GetQueryProviderFactory(s => {
                if (s != spec)
                {
                    return(null);
                }
                queryProviderFactoryUsed = true;
                return(queryProvider);
            });

            Mock.Get(specProvider).Setup(x => x.GetSpecification()).Returns(spec);
            Mock.Get(queryProvider).Setup(x => x.GetQuery()).Returns(() => null);
            var sut = new TicketLister(queryProviderFactory, specFactory);

            // Act
            sut.GetTickets(request);

            // Assert
            Assert.That(queryProviderFactoryUsed, Is.True);
        }
Example #2
0
        public void GetTickets_gets_specification_from_factory(IGetsTicketSpecification specProvider,
                                                               IGetsQueryForTickets queryProvider,
                                                               TicketListRequest request,
                                                               Search search)
        {
            // Arrange
            var specFactoryUsed = false;
            var specFactory     = GetSpecFactory(s => {
                if (s != search)
                {
                    return(null);
                }
                specFactoryUsed = true;
                return(specProvider);
            });

            Mock.Get(queryProvider).Setup(x => x.GetQuery()).Returns(() => null);
            var sut = new TicketLister(GetQueryProviderFactory(x => queryProvider), specFactory);

            request.SearchModel = search;

            // Act
            sut.GetTickets(request);

            // Assert
            Assert.That(specFactoryUsed, Is.True);
        }
Example #3
0
        public async Task <ActionResult> TicketList([FromBody] TicketListRequest request)
        {
            var nfi = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone();

            nfi.NumberGroupSeparator = " ";

            var model = (from v in _db.VTicketCancelList
                         where v.TicketOperationDateTime >= DateTime.Parse(request.fromDate) &&
                         v.TicketOperationDateTime < DateTime.Parse(request.toDate).AddDays(1)
                         orderby v.TicketOperationDateTime descending
                         select new TicketCancelViewModel
            {
                Status = v.OperationTypeId,
                Payment = v.Payment.ToString("#,0.00", nfi),
                PassengerName = v.PassengerName,
                BSONumber = v.BSONumber,
                Route = v.Route,
                DealDateTime = v.DealDateTime,
                TicketOperationDateTime = v.TicketOperationDateTime,
                Description = v.Description,
                ManagerName = v.ManagerName,
                TicketStatus = v.OperationType,
                TicketId = v.TicketId
            }).ToList();

            return(Json(new { message = await _viewRenderService.RenderToStringAsync("Management/TicketList", model) }));
        }
Example #4
0
        IReadOnlyCollection <Ticket> GetAllTickets(string labelName, bool open)
        {
            var openClosed = open ? WellKnownValue.Open : WellKnownValue.Closed;

            var listRequest = new TicketListRequest {
                SearchModel = new Search {
                    CriteriaRoot = new CriteriaRoot {
                        Criteria = new [] {
                            Criterion.FromElementPredicateAndConstantValue(ElementName.Label, PredicateName.Equals, labelName),
                            Criterion.FromElementPredicateAndConstantValue(ElementName.Ticket, PredicateName.Is, openClosed)
                        }
                    }
                }
            };

            return(ticketLister.GetTickets(listRequest));
        }
Example #5
0
        public void GetTickets_returns_result_using_query(IGetsTicketSpecification specProvider,
                                                          IGetsQueryForTickets queryProvider,
                                                          TicketListRequest request,
                                                          Ticket ticket)
        {
            // Arrange
            var specFactory          = GetSpecFactory(s => specProvider);
            var queryProviderFactory = GetQueryProviderFactory(s => queryProvider);
            var sut = new TicketLister(queryProviderFactory, specFactory);

            var query = new [] { ticket }.AsQueryable();

            Mock.Get(queryProvider).Setup(x => x.GetQuery()).Returns(query);

            // Act
            var result = sut.GetTickets(request);

            // Assert
            Assert.That(result.FirstOrDefault(), Is.EqualTo(ticket));
        }
Example #6
0
        public async Task <IActionResult> List([FromQuery] TicketListRequest request)
        {
            var predicate = PredicateBuilder.True <Ticket>();

            if (request.AirlineId.HasValue)
            {
                predicate = predicate.And(x => x.AirlineId == request.AirlineId.Value);
            }

            if (request.OriginId.HasValue)
            {
                predicate = predicate.And(x => x.OriginId == request.OriginId.Value);
            }

            if (request.DestinationId.HasValue)
            {
                predicate = predicate.And(x => x.DestinationId == request.DestinationId.Value);
            }

            if (request.Scheduled.HasValue)
            {
                predicate = predicate.And(x => x.Scheduled.Date == request.Scheduled.Value.Date);
            }

            var result = await _ticketService.PagedList(request.PageIndex, request.PageSize
                                                        , predicate
                                                        , orderBy : x => x
                                                        .OrderBy(p => p.Scheduled)
                                                        , include : x => x
                                                        .Include(p => p.Airline)
                                                        .Include(p => p.Origin)
                                                        .Include(p => p.Destination)
                                                        );

            return(Ok(new TicketListResponse(result.PageIndex, result.PageSize, result.Total)
            {
                Data = Mapper.ConvertEntityToSchema <TicketSchema>(result.Collection)
            }));
        }