예제 #1
0
        static int doTestCall(RTTripUpdates tripUpdate, DateTime phDate)
        {
            TimeSpan startTime  = TimeSpan.Parse(tripUpdate.start_time).Add(TimeSpan.FromSeconds(tripUpdate.delay));
            TimeSpan elapseTime = new TimeSpan(phDate.Hour, phDate.Minute, phDate.Second) - startTime;



            List <SimulVehiclePositions> svp = db.Database
                                               .SqlQuery <SimulVehiclePositions>("SimulVehiclePositionGet @route_id, @direction_id, @elapse_time",
                                                                                 new SqlParameter("@route_id", tripUpdate.route_id),
                                                                                 new SqlParameter("@direction_id", tripUpdate.direction_id),
                                                                                 new SqlParameter("@elapse_time", elapseTime))
                                               .ToList();

            if (svp.Count > 0)
            {
                RTVehiclePositions vp = new RTVehiclePositions();
                vp.route_id     = tripUpdate.route_id;
                vp.trip_id      = tripUpdate.trip_id;
                vp.direction_id = tripUpdate.direction_id;
                vp.start_date   = tripUpdate.start_date;
                vp.start_time   = tripUpdate.start_time;
                vp.latitude     = svp[0].pos_lat;
                vp.longitude    = svp[0].pos_lon;
                vp.timestamp    = (long)Functions.ToEpoch(DateTime.UtcNow);

                db.RTVehiclePositions.Add(vp);
                return(1);
            }

            return(0);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            RTVehiclePositions rTVehiclePositions = db.RTVehiclePositions.Find(id);

            db.RTVehiclePositions.Remove(rTVehiclePositions);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "id,route_id,trip_id,direction_id,start_date,start_time,latitude,longitude,timestamp")] RTVehiclePositions rTVehiclePositions)
 {
     if (ModelState.IsValid)
     {
         db.Entry(rTVehiclePositions).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(rTVehiclePositions));
 }
        public ActionResult Create([Bind(Include = "id,route_id,trip_id,direction_id,start_date,start_time,latitude,longitude,timestamp")] RTVehiclePositions rTVehiclePositions)
        {
            if (ModelState.IsValid)
            {
                db.RTVehiclePositions.Add(rTVehiclePositions);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(rTVehiclePositions));
        }
        // GET: RTVehiclePosition/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RTVehiclePositions rTVehiclePositions = db.RTVehiclePositions.Find(id);

            if (rTVehiclePositions == null)
            {
                return(HttpNotFound());
            }
            return(View(rTVehiclePositions));
        }
예제 #6
0
        static int doGlobeCall(string mobileNumber, string accessToken, RTTripUpdates tripUpdate)
        {
            // call globe api
            JToken jsonReturn = GlobeLabs.LocateDevice(mobileNumber, accessToken);

            string processResult = "";

            if (((JProperty)jsonReturn.First).Name == "error")
            {
                processResult = ((JProperty)jsonReturn.First).Value.ToString();
                return(0);
            }
            else if (((JProperty)jsonReturn.First).Name == "terminalLocationList")
            {
                globe_lbs lbs       = JsonConvert.DeserializeObject <globe_lbs>(jsonReturn.ToString());
                double    latitude  = Convert.ToDouble(lbs.terminalLocationList.terminalLocation.currentLocation.latitude);
                double    longitude = Convert.ToDouble(lbs.terminalLocationList.terminalLocation.currentLocation.longitude);

                ShapeHolder sh = DetermineClosestPoint(tripUpdate.trip_id, latitude, longitude);
                //ShapeHolder sh = DetermineClosestPoint(tripUpdate.trip_id, 14.58793, 121.05693);

                if (sh.shape_pt_lat > 0)
                {
                    // save data to rt vehicle position
                    RTVehiclePositions vp = new RTVehiclePositions();

                    vp.route_id     = tripUpdate.route_id;
                    vp.trip_id      = tripUpdate.trip_id;
                    vp.direction_id = tripUpdate.direction_id;
                    vp.start_date   = tripUpdate.start_date;
                    vp.start_time   = tripUpdate.start_time;
                    vp.latitude     = sh.shape_pt_lat;
                    vp.longitude    = sh.shape_pt_lon;
                    vp.timestamp    = (long)Functions.ToEpoch(DateTime.UtcNow);

                    db.RTVehiclePositions.Add(vp);
                    return(1);
                }
            }

            return(0);
        }