public async Task <IActionResult> Search(SearchTripFormModel model) { if (StringExtensions.IsNullOrWhiteSpace(model.SearchText)) { this.TempData.AddWarningMessage("No search text was written."); return(this.RedirectToAction(nameof(this.Index))); } if (!model.SearchInEndLocations && !model.SearchInStartLocations && !model.SearchInTitles) { this.TempData.AddWarningMessage("No search condition was added."); return(this.RedirectToAction(nameof(this.Index))); } var viewModel = new SearchTripViewModel { SearchText = model.SearchText, Trips = await this.trips.FindAsync( model.SearchText, model.SearchInStartLocations, model.SearchInEndLocations, model.SearchInTitles) }; return(this.View(viewModel)); }
public void ReturnDefaulView_WithCorrectViewModel() { // Arrange var mockedTripService = new Mock <ITripService>(); var mockedMappingProvider = new Mock <IMappingProvider>(); var controller = new SearchController(mockedTripService.Object, mockedMappingProvider.Object); var searchViewModel = new SearchTripViewModel(); searchViewModel.Origin = "Pazardzhik"; searchViewModel.Destination = "Sofia"; var tripsBasinInfo = new TripSearchResult(); tripsBasinInfo.FoundTrips = new List <TripBasicInfo>(); mockedTripService.Setup(x => x.GetTripsFor(searchViewModel.Origin, searchViewModel.Destination, 0)) .Returns(tripsBasinInfo); var tripsViewModel = new List <TripBasicInfoViewModel>(); mockedMappingProvider.Setup(x => x.Map <IEnumerable <TripBasicInfo>, IEnumerable <TripBasicInfoViewModel> >(tripsBasinInfo.FoundTrips)) .Returns(tripsViewModel); // Act and Assert controller.WithCallTo(x => x.Result(searchViewModel)) .ShouldRenderDefaultView() .WithModel(searchViewModel); }
public async Task <ActionResult> CustomerForm(SearchTripViewModel dummy, MainSearchBind bind, Guid[] selectedObjects) { if (Request.IsAjaxRequest() && selectedObjects.Length != 0) { List <TicketBind> tickets = new List <TicketBind>(); foreach (Guid guid in selectedObjects) { tickets.Add( new TicketBind { TripId = dummy.Id, SeatId = guid, ArrivalStationId = await _routeService.GetIdStation(bind.To), DepartureStationId = await _routeService.GetIdStation(bind.From), ArrivalTime = dummy.ArrivalTime, DepartureTime = dummy.DepartureTime, //TODO: Price = "123" } ); } return(PartialView(tickets)); } else { return(null); } }
public async Task <ActionResult> Booking(SearchTripViewModel item, SeatSearchViewModel item2, MainSearchBind bind) { IEnumerable <AllrSeatsProcedureDTO> allrSeatsDto = await _routeService.SearchAllSeatById(item.Id, bind.From, bind.To, item2.Car); var allseats = _mapperTrip.Map <IEnumerable <AllrSeatsProcedureDTO>, List <AllSeatsProcedureViewModel> >(allrSeatsDto); foreach (var seat in allseats) { seat.Price = await _costService.GetCostOfSeatAsync(seat.PriceCoeff, item.Duration, (int)item.ArrivalTime.DayOfWeek); seat.SalePrice = await _costService.GetSaleCostOfSeatAsync(seat.PriceCoeff, item.Duration, (int)item.ArrivalTime.DayOfWeek); } var cars = allseats .GroupBy(u => u.CarNumber) .Select(grp => grp.ToList()) .ToList(); AllSeatsViewModel <AllSeatsProcedureViewModel> viewModel = new AllSeatsViewModel <AllSeatsProcedureViewModel> { Trip = GetTripViewModel(item, item2, bind), Cars = cars }; return(View(viewModel)); }
public ActionResult Result(SearchTripViewModel searchModel) { var trips = this.tripService.GetTripsFor(searchModel.Origin, searchModel.Destination); IEnumerable <TripBasicInfoViewModel> tripsViewModel = this.mappingProvider.Map <IEnumerable <TripBasicInfo>, IEnumerable <TripBasicInfoViewModel> >(trips.FoundTrips); searchModel.Data = tripsViewModel; searchModel.TotalCount = trips.TotalTrips; return(this.View(searchModel)); }
public TripViewModel <SearchTripViewModel> GetTripViewModel(SearchTripViewModel item, SeatSearchViewModel item2, MainSearchBind bind) { List <SearchTripViewModel> trips = new List <SearchTripViewModel>(); List <SeatSearchViewModel> car = new List <SeatSearchViewModel>(); car.Add(item2); item.FreeSeats = car; trips.Add(item); return(new TripViewModel <SearchTripViewModel> { Models = trips, Bind = bind }); }
public ActionResult LoadTrips(SearchTripViewModel model, int page = 0) { if (page < 0) { page *= -1; } var trips = this.tripService.GetTripsFor(model.Origin, model.Destination, page); IEnumerable <TripBasicInfoViewModel> tripsViewModel = this.mappingProvider.Map <IEnumerable <TripBasicInfo>, IEnumerable <TripBasicInfoViewModel> >(trips.FoundTrips); model.Data = tripsViewModel; model.TotalCount = trips.TotalTrips; return(this.PartialView("_TripSearchResult", model)); }
public ActionResult Search() { var searchModel = new SearchTripViewModel(); return(this.PartialView("_TripQuickSearch", searchModel)); }