Пример #1
0
 public void DeleteBeacon(BeaconBase beacon)
 {
     Requires.NotNull(beacon);
     Requires.PropertyNotNegative(beacon, "BeaconId");
     using (var context = DataContext.Instance())
     {
         var rep = context.GetRepository <BeaconBase>();
         rep.Delete(beacon);
     }
 }
Пример #2
0
 public void UpdateBeacon(BeaconBase beacon, int userId)
 {
     Requires.NotNull(beacon);
     Requires.PropertyNotNegative(beacon, "BeaconId");
     beacon.LastModifiedByUserID = userId;
     beacon.LastModifiedOnDate   = DateTime.Now;
     using (var context = DataContext.Instance())
     {
         var rep = context.GetRepository <BeaconBase>();
         rep.Update(beacon);
     }
 }
Пример #3
0
 public int AddBeacon(ref BeaconBase beacon, int userId)
 {
     Requires.NotNull(beacon);
     Requires.PropertyNotNegative(beacon, "PortalId");
     beacon.CreatedByUserID      = userId;
     beacon.CreatedOnDate        = DateTime.Now;
     beacon.LastModifiedByUserID = userId;
     beacon.LastModifiedOnDate   = DateTime.Now;
     using (var context = DataContext.Instance())
     {
         var rep = context.GetRepository <BeaconBase>();
         rep.Insert(beacon);
     }
     return(beacon.BeaconId);
 }
Пример #4
0
        public ICoordinate GetResult(int id, params IDistance[] distances)
        {
            var bestThree = distances.OrderBy(x => x.Distance).Take(3).ToArray();
            var beacons   = new BeaconBase[3];

            for (var i = 0; i < bestThree.Length; i++)
            {
                var anchor = _anchors[bestThree[i].FromAnchorId];
                beacons[i] = new BeaconBase
                {
                    Id           = anchor.Id,
                    X            = anchor.X,
                    Z            = anchor.Z,
                    ReadDistance = bestThree[i].Distance
                };
            }

            var comex  = new Comex(beacons[0], beacons[1], beacons[2]);
            var result = comex.Calculate();

            return(new Coordinate(result[0], result[1], 0));
        }