Exemplo n.º 1
0
        public static IList <DriverPosition> GetLastPointForRouteLists(IUnitOfWork uow, int[] routeListsIds, DateTime?beforeTime = null)
        {
            Track          trackAlias = null;
            TrackPoint     subPoint   = null;
            DriverPosition result     = null;

            var lastTimeTrackQuery = QueryOver.Of <TrackPoint>(() => subPoint)
                                     .Where(() => subPoint.Track.Id == trackAlias.Id);

            if (beforeTime.HasValue)
            {
                lastTimeTrackQuery.Where(p => p.TimeStamp <= beforeTime);
            }

            lastTimeTrackQuery.Select(Projections.Max(() => subPoint.TimeStamp));

            return(uow.Session.QueryOver <TrackPoint>()
                   .JoinAlias(p => p.Track, () => trackAlias)
                   .Where(() => trackAlias.RouteList.Id.IsIn(routeListsIds))
                   .WithSubquery.WhereProperty(p => p.TimeStamp).Eq(lastTimeTrackQuery)
                   .SelectList(list => list
                               .Select(() => trackAlias.Driver.Id).WithAlias(() => result.DriverId)
                               .Select(() => trackAlias.RouteList.Id).WithAlias(() => result.RouteListId)
                               .Select(x => x.TimeStamp).WithAlias(() => result.Time)
                               .Select(x => x.Latitude).WithAlias(() => result.Latitude)
                               .Select(x => x.Longitude).WithAlias(() => result.Longitude)
                               ).TransformUsing(Transformers.AliasToBean <DriverPosition>())
                   .List <DriverPosition>());
        }
Exemplo n.º 2
0
        public ActionResult TestPostDriverPosition()
        {
            var driverPosition = new DriverPosition
            {
                DriverId         = "123465",
                Latitude         = 36.828959f,
                Longitude        = -79.895663f,
                Altitude         = 0,
                Accuracy         = 1,
                AltitudeAccuracy = 2,
                Heading          = 1,
                Speed            = 40.2f,
                TimeStamp        = DateTime.Now
            };
            var collection = MongoHelper.Current.Database.GetCollection <DriverPosition>("driverpositions");

            collection.Insert(driverPosition);
            return(View(driverPosition));
        }
Exemplo n.º 3
0
        // POST api/values
        public void Post([FromBody] Flag [] flags)
        {
            var collection = MongoHelper.Current.Database.GetCollection <DriverPosition>("driverpositions");
            var customerId = flags[0].CustomerId;

            foreach (var item in flags)
            {
                var driverPosition = new DriverPosition
                {
                    DriverId         = item.CustomerId,
                    Latitude         = item.Position.Coordinates.Latitude,
                    Longitude        = item.Position.Coordinates.Longtitude,
                    Altitude         = item.Altitude,
                    AltitudeAccuracy = item.AltitudeAccuracy,
                    TimeStamp        = item.Time,
                    Heading          = item.Heading,
                    ////Type = item.Type,
                };
                collection.Insert(driverPosition);
            }
            var profile = new DriverProfile();

            profile.HandleData(customerId);
        }
        // POST api/values
        public void Post([FromBody] DriverPosition driverPosition)
        {
            var collection = MongoHelper.Current.Database.GetCollection <DriverPosition>("driverpositions");

            collection.Insert(driverPosition);
        }