public ActionResult ConfirmReservation() { var route = TempData["TempRoute"] as RouteView; if (route == null) { RedirectToAction("Index"); } var routeService = new RouteCtrServiceClient(); var customerService = new CustomerCtrServiceClient(); ViewBag.MapUrl = routeService.GetMapRouteUrl(route.Path); ViewBag.CustomerID = new SelectList(customerService.GetAllCustomers(), "ID", "Name"); TempData["TempRoute"] = route; return View("ConfirmReservationGet", route); }
public ActionResult Index(int? batteryID, string ddlBatteryStationsFrom, string ddlBatteryStationsTo) { int? fromID = Convert.ToInt32(ddlBatteryStationsFrom); int? toID = Convert.ToInt32(ddlBatteryStationsTo); ViewData["ddlBatteryStationsFrom"] = new SelectList(locationService.GetAllBatteryStations(), "ID", "ZipCode.City"); ViewData["ddlBatteryStationsTo"] = new SelectList(locationService.GetAllBatteryStations(), "ID", "ZipCode.City"); if (batteryID == null || fromID == null || toID == null) { ViewBag.ErrorMessage = "Are you sure you entered valid input?"; return View(); } try { var routeService = new RouteCtrServiceClient(); var serviceRoute = routeService.PlanRoute((int)fromID, (int)toID, (int)batteryID); RouteView route = this.converter.ConvertRoute(serviceRoute); double routeLength = route.Distance.Last(); var modelBatteries = new List<Models.Battery>(); var resBatteries = this.resService.GetBatteriesForReservation(route.Path, route.Distance, route.Range, (int)batteryID).Values.ToList(); foreach (var bat in resBatteries) { if (bat != null) { modelBatteries.Add(this.converter.ConvertBattery(bat)); } } route.Batteries = modelBatteries; if (route.Batteries.Count == 0 && route.Range < routeLength) { ViewBag.ErrorMessage = "No available batteries were found."; return View(); } if (route.Batteries.Count == 0 && route.Range > routeLength) { ViewBag.ErrorMessage = "You can go directly from StartLocation to EndLocaton"; return View(); } TempData["TempRoute"] = route; } catch (FaultException) { ViewBag.ErrorMessage = "Are you sure you entered valid input?"; return View(); } return RedirectToAction("ConfirmReservation"); }