コード例 #1
0
 public ActionResult CheckStatus(MovingObjectViewModel movingObject)
 {
     try
     {
         MovingObjectViewModel _movingObject = movingObjectService.CheckStatus(movingObject);
         return Json(new { _movingObject });
     }
     catch (Exception ex)
     {
         return Json(new { status = "error", message = ex.ToString() });
     }
 }
コード例 #2
0
 public MovingObject(MovingObjectViewModel viewModel)
 {
     this.Fingerprint = viewModel.Fingerprint;
     this.Position = viewModel.Latitude * viewModel.Longitude;
     this.Latitude = viewModel.Latitude;
     this.Longitude = viewModel.Longitude;
     this.Speed = viewModel.Speed;
     this.Heading = viewModel.Heading;
     this.ModeOfTransportation = viewModel.ModeOfTransportation;
     this.BoundingBox = new BoundingBox(this.Latitude, this.Longitude, this.Heading, this.Speed, this.ModeOfTransportation);
     this.Status = "green";
     this.LastPost = DateTime.Now;
 }
コード例 #3
0
        public MovingObjectViewModel CheckStatus(MovingObjectViewModel movingObjectViewModel)
        {
            if (movingObjectList == null) movingObjectList = new List<MovingObject>();
            if (thisLock == null) thisLock = new Object();
            if (movingObjectViewModel.Fingerprint != 0 && movingObjectViewModel.Latitude != 0 && movingObjectViewModel.Longitude != 0)
            {
                lock (thisLock)
                {
                    movingObject = new MovingObject(movingObjectViewModel);
                    movingObjectList.RemoveAll(e => (e.Fingerprint == movingObject.Fingerprint || e.Fingerprint == 0 || e.LastPost < DateTime.Now.AddSeconds(-10)));
                    movingObjectList.Add(movingObject);
                    SortMovingObjectList();
                    movingObjectViewModel.OtherMovingObjects = GetMovingObjectNearPosition(movingObject.Position, movingObject.Fingerprint);

                    movingObjectViewModel.MovingObject = movingObject;
                }
                DetermineCollisions(movingObject, movingObjectViewModel.OtherMovingObjects);
            }
            //movingObjectViewModel.BoundingBox = movingObject.BoundingBox;
            return movingObjectViewModel;
        }