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); }
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); }
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) })); }
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)); }
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)); }
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) })); }