コード例 #1
0
 private static void UploadTrackingDataAndFlushBuffer()
 {
     if (bufferedTrackedPositions == null)
         return;
     if (bufferedTrackedPositions.Count == 0)
         return;
                 
     //copy tracking data and clear buffer
     TrackedPosition[] tmp;
     lock (bufferedTrackedPositionsLock)
     {
         int numPositions = bufferedTrackedPositions.Count;
         tmp = new TrackedPosition[numPositions];
         bufferedTrackedPositions.CopyTo(tmp);
         bufferedTrackedPositions.Clear();
     }
     
     radiomapEntities context = new radiomapEntities(radiomapUri);
     foreach (TrackedPosition pos in tmp)
     {
         context.AddToTrackedPositions(pos);
     }
     context.BeginSaveChanges(SaveChangesOptions.Batch, OnPositionEstimatesSaved, context);
     
 }