Ejemplo n.º 1
0
        // GET: SPRouteStop
        /// <summary>
        /// Index ActionResult
        /// Takes busRouteCode as cookie or session variables
        /// Assigns cookie or session variables to busRouteCode when there's no parameter
        /// </summary>
        /// <param name="busRouteCode">Query string that narrows the result</param>
        /// <returns></returns>
        public ActionResult Index(string busRouteCode)
        {
            if (busRouteCode != null)
            {
                Session["busRouteCode"] = busRouteCode;
                Response.Cookies.Add(new HttpCookie("busRouteCode", busRouteCode));
            }
            else if (Request.Cookies["busRoutecode"] != null)
            {
                busRouteCode = Request.Cookies["busRouteCode"].Value;
            }
            else if (Session["busRouteCode"] != null)
            {
                busRouteCode = Session["busRouteCode"].ToString();
            }
            else
            {
                TempData["message"] = "Please select Bus Route..";
                return(RedirectToAction("index", "SPBusRoute"));
            }

            var routeStops = db.routeStops.Where(r => r.busRouteCode == busRouteCode).OrderBy(r => r.offsetMinutes).Include(r => r.busRoute).Include(r => r.busStop);

            // To display title of this view with busRouteCode and RouteName
            ViewBag.busRouteCode = busRouteCode;
            busRoute busRoute = db.busRoutes.Find(busRouteCode);

            ViewBag.busRouteName = busRoute.routeName;

            return(View(routeStops.ToList()));
        }
Ejemplo n.º 2
0
        // GET: SPRouteStop/Create
        /// <summary>
        /// Create ActionResult
        /// Examines if there are any cookie or session variables to make title of this view
        /// </summary>
        /// <returns></returns>
        public ActionResult Create()
        {
            string busRouteCode = "";

            //Examines cookie or session variables to assign to make title of this view
            if (Request.Cookies["busRoutecode"] != null)
            {
                busRouteCode = Request.Cookies["busRouteCode"].Value;
            }
            else if (Session["busRouteCode"] != null)
            {
                busRouteCode = Session["busRouteCode"].ToString();
            }
            else
            {
                TempData["message"] = "Please select Bus Route..";
                return(RedirectToAction("index", "SPBusRoute"));
            }

            // To display title of this view with busRouteCode and RouteName
            ViewBag.busRouteCode_ = busRouteCode;
            busRoute busRoute = db.busRoutes.Find(busRouteCode);

            ViewBag.busRouteName = busRoute.routeName;

            //Commented because this auto generated code doesn't need any more.
            //ViewBag.busRouteCode = new SelectList(db.busRoutes, "busRouteCode", "routeName", busRoute.busRouteCode);
            ViewBag.busStopNumber = new SelectList(db.busStops, "busStopNumber", "location", busRoute.busRouteCode);
            return(View());
        }
Ejemplo n.º 3
0
        public ActionResult DeleteConfirmed(string id)
        {
            busRoute busRoute = db.busRoutes.Find(id);

            db.busRoutes.Remove(busRoute);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 4
0
 public ActionResult Edit([Bind(Include = "busRouteCode,routeName")] busRoute busRoute)
 {
     if (ModelState.IsValid)
     {
         db.Entry(busRoute).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(busRoute));
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Combine routeCode and busStop to return schedule
        /// </summary>
        /// <param name="form"></param>
        /// <returns>selected busStop and selected busRoute schedule</returns>
        public ActionResult RouteStopSchedule(FormCollection form)
        {
            string busRouteCode = "";

            //RouteSelector ActionResult of SPBusStopController may set this Session variable
            if (Session["routeCodeFromBusStop"] == null)
            {
                //RouteSelector View of SPBusStopController may select one of dropDownList
                if (form["routeNames"] == null)
                {
                    TempData["message"] = "No Bus Route selected!";
                    return(RedirectToAction("index", "SPBusStop"));
                }
                else
                {
                    busRouteCode = form["routeNames"];
                }
            }
            else
            {
                busRouteCode = Session["routeCodeFromBusStop"].ToString();
                Session["routeCodeFromBusStop"] = null;
            }

            int busStopNumber = (int)Session["busStopNumber"];
            int offsetMinutes = 0;

            busRoute busRoute = db.busRoutes.Find(busRouteCode);

            ViewBag.selectedRouteName = busRouteCode + " - " + busRoute.routeName;
            busStop busStop = db.busStops.Find(busStopNumber);

            ViewBag.selectedLocation = busStopNumber + " - " + busStop.location;

            //Finds out offsetMunutes of selected busRoute and selected busStop
            //If there are more than one record found accidently, it abends!!
            var routeStop = db.routeStops.Where(a => a.busRouteCode == busRouteCode && a.busStopNumber == busStopNumber).Single();

            offsetMinutes = (int)routeStop.offsetMinutes;

            //Composes all startTimes within the schedule
            var selectedSchedule = from r in db.routeSchedules
                                   where (r.busRouteCode == busRouteCode)
                                   orderby r.startTime
                                   select r;

            //Callculates busStop arrival times and returns model
            foreach (var item in selectedSchedule)
            {
                item.startTime = item.startTime.Add(TimeSpan.FromMinutes(offsetMinutes));
            }

            return(View(selectedSchedule));
        }
Ejemplo n.º 6
0
        public ActionResult Create([Bind(Include = "busRouteCode,routeName")] busRoute busRoute)
        {
            if (ModelState.IsValid)
            {
                db.busRoutes.Add(busRoute);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(busRoute));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Handles post actions depends on number of routeCodes
        /// </summary>
        /// <param name="id"></param>
        /// <returns>
        /// case 1 : no routeCode returns Index View
        /// case 2 : 1 routeCode returns RouteStopSchedule View of SPRouteSchedule controller
        /// case 3 : more than 1 routeCodes ruturn RouteSelector View
        /// </returns>
        public ActionResult RouteSelector(int?id)
        {
            if (id == null)
            {
                TempData["message"] = "Select bus stop..";
                return(RedirectToAction("Index"));
            }
            else
            {
                Session["busStopNumber"] = id;
                int    selectedCount = 0;
                var    query         = (from r in db.routeStops where r.busStopNumber == id select r.busRouteCode).Distinct().ToList();
                string routeCodeToRouteStopSchedule = "";

                List <SelectListItem> selectRouteNames = new List <SelectListItem>();
                foreach (var routeCode in query)
                {
                    if (routeCode == null)
                    {
                        continue;
                    }
                    busRoute busRoute = db.busRoutes.Find(routeCode);
                    selectRouteNames.Insert(selectedCount, new SelectListItem {
                        Value = routeCode, Text = busRoute.routeName
                    });
                    routeCodeToRouteStopSchedule = routeCode;
                    selectedCount++;
                }
                ViewBag.routeNames = selectRouteNames.OrderBy(a => a.Text);

                //selectedCount = selectedCount - 1;

                if (selectedCount == 1)
                {
                    Session["routeCodeFromBusStop"] = routeCodeToRouteStopSchedule;
                    return(RedirectToAction("RouteStopSchedule", "SPRouteSchedule"));
                }
                else if (selectedCount > 1)
                {
                    return(View());
                }
                else
                {
                    var    busStop     = db.busStops.Find(id);
                    string busLocation = busStop.location;
                    TempData["message"] = "No route found for " + busLocation + "(" + id + ")";
                    return(RedirectToAction("Index"));
                }
            }
        }
Ejemplo n.º 8
0
            public static async Task <List <busRoute> > readBusRoutes()
            {
                List <busRoute> routes = new List <busRoute>();
                await databaseManager.selectQuery("SELECT * FROM busroutes", (DbDataReader reader) =>
                {
                    busRoute route = new busRoute();
                    route.name     = (string)reader["name"];
                    route.stations = NAPI.Util.FromJson <List <point> >((string)reader["points"]);
                    route.id       = (int)reader["id"];
                    routes.Add(route);
                }).Execute();

                return(routes);
            }
Ejemplo n.º 9
0
        // GET: SPBusRoutes/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            busRoute busRoute = db.busRoutes.Find(id);

            if (busRoute == null)
            {
                return(HttpNotFound());
            }
            return(View(busRoute));
        }
Ejemplo n.º 10
0
        public void createRoute(Player client, string name)
        {
            if (playerManager.doesPlayerHasAdmin(client) <= 0)
            {
                client.SendChatMessage("!{#CEF0AC}You need to be an admin.");
                return;
            }
            if (client.HasData("createdBusRoute"))
            {
                client.SendChatMessage("Esti deja intr-un route creation."); return;
            }
            ;

            var rotue = new busRoute();

            rotue.name     = name;
            rotue.stations = new List <point>();
            client.SetData("createdBusRoute", rotue);
        }
Ejemplo n.º 11
0
        // GET: SPRouteStop/Edit/5
        /// <summary>
        /// Edit ActionResult
        /// Examines if there's any cookie or session variables to make title of this view
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            routeStop routeStop = db.routeStops.Find(id);

            if (routeStop == null)
            {
                return(HttpNotFound());
            }

            string busRouteCode = "";

            //Examines cookie or session variables to assign to make title of this view
            if (Request.Cookies["busRoutecode"] != null)
            {
                busRouteCode = Request.Cookies["busRouteCode"].Value;
            }
            else if (Session["busRouteCode"] != null)
            {
                busRouteCode = Session["busRouteCode"].ToString();
            }
            else
            {
                TempData["message"] = "Please select Bus Route..";
                return(RedirectToAction("index", "SPBusRoute"));
            }

            // To display title of this view with busRouteCode and RouteName
            ViewBag.busRouteCode_ = busRouteCode;
            busRoute busRoute = db.busRoutes.Find(busRouteCode);

            ViewBag.busRouteName = busRoute.routeName;

            //This was commented to hide busRotueCode
            //ViewBag.busRouteCode = new SelectList(db.busRoutes, "busRouteCode", "routeName", routeStop.busRouteCode);
            ViewBag.busStopNumber = new SelectList(db.busStops, "busStopNumber", "location", routeStop.busStopNumber);
            return(View(routeStop));
        }
Ejemplo n.º 12
0
        // GET: SPRouteStop/Details/5
        /// <summary>
        /// Details ActionResult
        /// Examines if there are any cookie or session variables to make title of this view
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Details(int?id)
        {
            string busRouteCode = "";

            //Examines cookie or session variables to assign to make title of this view
            if (Request.Cookies["busRoutecode"] != null)
            {
                busRouteCode = Request.Cookies["busRouteCode"].Value;
            }
            else if (Session["busRouteCode"] != null)
            {
                busRouteCode = Session["busRouteCode"].ToString();
            }
            else
            {
                TempData["message"] = "Please select Bus Route..";
                return(RedirectToAction("index", "SPBusRoute"));
            }

            // To display title of this view with busRouteCode and RouteName
            ViewBag.busRouteCode = busRouteCode;
            busRoute busRoute = db.busRoutes.Find(busRouteCode);

            ViewBag.busRouteName = busRoute.routeName;

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            routeStop routeStop = db.routeStops.Find(id);

            if (routeStop == null)
            {
                return(HttpNotFound());
            }
            return(View(routeStop));
        }
Ejemplo n.º 13
0
 public static async Task <int> createBusRoute(busRoute gs)
 {
     return(await databaseManager.updateQuery($"INSERT INTO busroutes (name, points) VALUES ('{gs.name}', '{NAPI.Util.ToJson(gs.stations)}')").Execute());
 }