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>()); }
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)); }
// 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); }