コード例 #1
0
        public HttpResponseMessage GetActiveteOrDeacuivate(int routeID, string city, string name, string time, string login, Boolean Activate)
        {
            //powinno
            string       data   = null;
            DriverModels driver = repo.GetDriverByNick(login);
            RouteModels  route  = repo.GetRouteByID(routeID);

            List <BusStopModels> busStops = (List <BusStopModels>)repo.GetAllBusStops();
            int busStopId = 0;

            foreach (BusStopModels busStop in busStops)
            {
                if (busStop.City == city && busStop.Name == name)
                {
                    busStopId = busStop.Id;
                }
            }
            repo.UpdateRoute(routeID, driver.Id, Activate);
            repo.UpdateDriver(driver.Id, routeID, busStopId, TimeSpan.Parse(time), Activate);
            route  = repo.GetRouteByID(routeID);
            driver = repo.GetDriverByNick(login);
            data   = " Driver id : " + driver.Id + " login : "******" route ID : " + driver.RouteID +
                     " Route ID : " + route.Id + " busStop ID :" + driver.BusStopID + " time : " + driver.TimeFromBusStop.ToString() + " active : " + route.active + " driver ID : " + route.DriverID;
            return(Request.CreateResponse(HttpStatusCode.OK, data));
        }
コード例 #2
0
        public HttpResponseMessage GetRoute(string city, string name, TimeSpan time, Boolean driver)
        {
            name = name.Trim();
            TimeSpan timeUp   = time.Add(new TimeSpan(1, 20, 0));
            TimeSpan timeDown = time.Subtract(new TimeSpan(1, 20, 0));
            Dictionary <int, List <string> > dictionary = new Dictionary <int, List <string> >();

            List <RouteModels> routes = repo.GetAllRoutes();
            List <TimeModels>  times  = null;

            for (int i = 0; i < routes.Count; i++)
            {
                List <BusStopModels> busStops = routes[i].Track.BusStopsList;
                int timeFromFirstBusStop      = 0;
                times = routes[i].Track.TimeToNextStopsList;

                for (int j = 0; j < busStops.Count; j++)
                {
                    timeFromFirstBusStop += times[j].value;
                    if (busStops[j].City == city && busStops[j].Name == name)
                    {
                        RouteModels r             = routes[i];
                        TimeSpan    t             = new TimeSpan(0, timeFromFirstBusStop, 0);
                        TimeSpan    timeOnBusStop = r.StartTime;
                        TimeSpan    newTime       = timeOnBusStop.Add(t);


                        if (r.StartTime < timeUp && r.StartTime > timeDown)
                        {
                            if (driver)
                            {
                                if (!routes[i].active)
                                {
                                    dictionary.Add(r.Id, new List <string> {
                                        routes[i].Track.NameTrack, city, name, newTime.ToString()
                                    });
                                }
                            }
                            else
                            {
                                dictionary.Add(r.Id, new List <string> {
                                    routes[i].Track.NameTrack, city, name, newTime.ToString()
                                });
                            }
                            break;
                        }
                    }
                }
            }

            if (dictionary.Count > 0)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, dictionary));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.OK, dictionary));
            }
        }
コード例 #3
0
        public HttpResponseMessage GetRoute2(string cityFrom, string nameFrom, string cityTo, string nameTo, TimeSpan time)
        {
            TimeSpan           timeUp                   = time.Add(new TimeSpan(1, 20, 0));
            TimeSpan           timeDown                 = time.Subtract(new TimeSpan(1, 20, 0));
            List <RouteModels> routes                   = repo.GetAllRoutes();
            List <RouteModels> checkedRoutes            = new List <RouteModels>();
            Dictionary <int, List <string> > dictionary = new Dictionary <int, List <string> >();
            List <TimeSpan> newTimeStart                = new List <TimeSpan>();

            for (int i = 0; i < routes.Count; i++)
            {
                List <BusStopModels> busStops = routes[i].Track.BusStopsList;
                int timeFromFirstBusStop      = 0;
                List <TimeModels> times       = routes[i].Track.TimeToNextStopsList;
                for (int j = 0; j < busStops.Count; j++)
                {
                    timeFromFirstBusStop += times[j].value;
                    if (busStops[j].City == cityFrom && busStops[j].Name == nameFrom)
                    {
                        RouteModels r             = routes[i];
                        TimeSpan    t             = new TimeSpan(0, timeFromFirstBusStop, 0);
                        TimeSpan    timeOnBusStop = r.StartTime;
                        TimeSpan    t2            = timeOnBusStop.Add(t);
                        if (t2 < timeUp && t2 > timeDown)
                        {
                            newTimeStart.Add(t2);
                            checkedRoutes.Add(r);
                        }
                    }
                }
            }
            int k = 0;

            foreach (RouteModels route in checkedRoutes)
            {
                List <BusStopModels> busStops = route.Track.BusStopsList;
                foreach (BusStopModels busStop in busStops)
                {
                    if (busStop.City == cityTo && busStop.Name == nameTo)
                    {
                        dictionary.Add(route.Id, new List <string> {
                            route.Track.NameTrack, cityFrom, nameFrom, newTimeStart[k].ToString()
                        });
                    }
                }
                k++;
            }

            if (dictionary.Count > 0)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, dictionary));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound, dictionary));
            }
        }
コード例 #4
0
 public ActionResult Edit(RouteModels model)
 {
     if (ModelState.IsValid)
     {
         repo.UpdateRoute(model);
         return(View("Routes", repo.GetAllRoutes()));
     }
     return(View(model));
 }
コード例 #5
0
        public HttpResponseMessage RequestToStopDriver(int routeID, string city, string name)
        {
            string      result = "0";
            RouteModels route  = repo.GetRouteByID(routeID);

            if (route.DriverID != 0)
            {
                repo.AddUserRequest(route.DriverID, city, name);
                result = repo.LastUserRequest() + "";
            }
            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
コード例 #6
0
        public HttpResponseMessage Get(int routeID)
        {
            string       result = "0";
            RouteModels  route  = repo.GetRouteByID(routeID);
            DriverModels driver = repo.GetDriverByID(route.DriverID);

            if (route.active)
            {
                result = "1," + driver.Latitude + "," + driver.Longitude;
                return(Request.CreateResponse(HttpStatusCode.OK, result));
            }
            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
コード例 #7
0
        public ActionResult Routes(RouteModels model)
        {
            bool val1 = System.Web.HttpContext.Current.User.Identity.IsAuthenticated;

            if (val1)
            {
                return(View(model));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }