示例#1
0
        //POST /Manage
        public ActionResult AddToWishList(int id)
        {
            var model  = new IndexViewModel();
            var userId = this.User.Identity.GetUserId();

            Trip tripToService = this.tripService.FindTrip(id);

            this.userService.AddTripToWishlist(tripToService, userId);

            TripsListViewModel userTripsModel = new TripsListViewModel();
            var userTrips = this.userService.GetUserTrips(userId);

            List <TripItemViewModel> allTrips = new List <TripItemViewModel>();

            foreach (var item in userTrips)
            {
                TripItemViewModel userTrip = this.mappingService.Map <Trip, TripItemViewModel>(item);
                allTrips.Add(userTrip);
            }

            userTripsModel.Trips = allTrips;

            model.UserTrips = userTripsModel;

            TempData["Model"] = model;
            return(RedirectToAction("Index"));
        }
示例#2
0
        public IActionResult EnterTaxis(ICollection <Taxi> taxis)
        {
            var optimizer = new TripOptimizer(taxis);

            var viewModel = new TripsListViewModel
            {
                AllTrips  = optimizer.GetAllTrips(),
                BestTrips = optimizer.GetBestTrips()
            };

            return(View("TripsList", viewModel));
        }
        public ActionResult LatesTripsPartial()
        {
            var latestTrips = this.TripServices
                    .GetLatest(WebApplicationConstants.HomepageTripsPerSectionCount)
                    .To<TripListViewModel>()
                    .ToList();

            var viewModel = new TripsListViewModel()
            {
                Trips = latestTrips
            };

            return this.PartialView("~/Views/Home/_LatestTripsPartial.cshtml", viewModel);
        }
示例#4
0
        // GET: TripsList
        // , string from = null, string to = null, string datepicker = null
        public ActionResult Index(int page = 1, string from = "", string to = "", string datepicker = "")
        {
            var locations = new List<Location>();
            locations.Add(new Location
            {
                Id = 0,
                Name = string.Empty
            });

            locations.AddRange(this.locations.GetAll().ToList());
            this.ViewData["Locations"] = new SelectList(locations, "Name", "Name");

            var pagesToSkip = (page - 1) * TripsPerPage;
            var allTrips = this.trips.GetAll().Count();

            var tripsToShow = this.trips
                .GetAll()
                .OrderByDescending(x => x.Id)
                .To<PageableTripViewModel>()
                .ToList();

            if (!string.IsNullOrEmpty(from))
            {
                tripsToShow = tripsToShow.Where(x => x.From == from).ToList();
            }

            if (!string.IsNullOrEmpty(to))
            {
                tripsToShow = tripsToShow.Where(x => x.To == to).ToList();
            }

            if (!string.IsNullOrEmpty(datepicker))
            {
                var givenDate = DateTime.Parse(datepicker);
                tripsToShow = tripsToShow.Where(x => x.StartDate >= givenDate).ToList();
            }

            var totalpages = (int)Math.Ceiling(tripsToShow.Count / (decimal)TripsPerPage);
            tripsToShow = tripsToShow.Skip(pagesToSkip).Take(TripsPerPage).ToList();

            var tripsList = new TripsListViewModel()
            {
                TotalPages = totalpages,
                CurrentPage = page,
                Trips = tripsToShow
            };

            return this.View(tripsList);
        }
示例#5
0
        // GET: /Manage/Index
        public async Task <ActionResult> Index(ManageMessageId?message)
        {
            ViewBag.StatusMessage =
                message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed."
                : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set."
                : message == ManageMessageId.Error ? "An error has occurred."
                : "";

            var userId = User.Identity.GetUserId();

            IndexViewModel model;

            if (TempData["Model"] != null)
            {
                model = (IndexViewModel)TempData["Model"];
            }
            else
            {
                model = new IndexViewModel();
            }

            model.HasPassword = HasPassword();
            model.Logins      = await UserManager.GetLoginsAsync(userId);

            model.BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(userId);

            if (User.IsInRole(UserRoles.RegularUser) && model.UserTrips == null)
            {
                var userTrips = this.userService.GetUserTrips(userId);

                var userTripsModel = new TripsListViewModel();

                List <TripItemViewModel> tripsToAdd = new List <TripItemViewModel>();

                foreach (var item in userTrips)
                {
                    TripItemViewModel userTrip = this.mappingService.Map <Trip, TripItemViewModel>(item);
                    tripsToAdd.Add(userTrip);
                }

                userTripsModel.Trips = tripsToAdd;
                model.UserTrips      = userTripsModel;
            }

            TempData.Remove("Model");
            return(View(model));
        }
示例#6
0
        public ActionResult Index()
        {
            var tripsModel = new TripsListViewModel();
            List <TripItemViewModel> tripsToAdd = new List <TripItemViewModel>();

            if (this.tripService.GetAllTrips().ToList().Count() > 0)
            {
                var trips = this.tripService.GetAllTrips()
                            .Where(t => t.IsDeleted == false && t.FreePlaces > 0)
                            .ToList();

                foreach (var item in trips)
                {
                    TripItemViewModel trip = this.mappingService.Map <Trip, TripItemViewModel>(item);
                    tripsToAdd.Add(trip);
                }
            }

            tripsModel.Trips = tripsToAdd;
            return(this.View(tripsModel));
        }
        public void ReturnViewWithModel()
        {
            // Arrange
            var mockedTripService    = new Mock <ITripService>();
            var mockedMappingService = new Mock <IMappingService>();
            var listTripsController  = new ListTripsController(mockedTripService.Object, mockedMappingService.Object);

            //Act
            var tripsModel = new TripsListViewModel();
            var trips      = new List <Trip>()
            {
                new Trip(), new Trip()
            };

            mockedTripService.Setup(s => s.GetAllTrips()).Returns(trips.AsQueryable());

            // Assert
            listTripsController
            .WithCallTo(c => c.Index())
            .ShouldRenderDefaultView()
            .WithModel <TripsListViewModel>();
        }