public ActionResult EditRoute(int?id)
        {
            if (!SessionManager.checkCurrentUserType(UserType.MAINTENANCE_PERSON))
            {
                return(new HttpStatusCodeResult(403));
            }

            BL.Route r = MainClass.Instance.getRoutes().Find(v => v.id == id);

            if (r != null)
            {
                System.Web.HttpContext.Current.Session["startPointLatitude"]  = r.startPoint.latitude;
                System.Web.HttpContext.Current.Session["startPointLongitude"] = r.startPoint.longitude;
                r.startPoint.saveInDB();

                System.Web.HttpContext.Current.Session["endPointLatitude"]  = r.endPoint.latitude;
                System.Web.HttpContext.Current.Session["endPointLongitude"] = r.endPoint.longitude;
                r.endPoint.saveInDB();

                return(View(new RouteModel()
                {
                    driveTimeMinutes = r.driveTimeMinutes,
                    endPointName = r.endPoint.name,
                    startPointName = r.startPoint.name,
                    name = r.getRouteString(),
                    pointList = new List <RouteLatLongModel>()
                    {
                        new RouteLatLongModel()
                        {
                            latitude = (double)r.startPoint.latitude,
                            longitude = (double)r.startPoint.longitude,
                            title = "Start Point",
                            zIndex = 0
                        },
                        new RouteLatLongModel()
                        {
                            latitude = (double)r.endPoint.latitude,
                            longitude = (double)r.endPoint.longitude,
                            title = "End Point",
                            zIndex = 1
                        }
                    }
                }));
            }
            return(new HttpNotFoundResult());
        }