Exemple #1
0
        public LocationShare(LocationShareData data, IEnumerable<TrackerData> shareTrackers)
        {
            PrivateId = data.PrivateId;
            PublicId = data.PublicId;
            Longitude = data.Longitude;
            Latitude = data.Latitude;
            User = new UserInfo () {
                Id = data.UserId,
                Name = data.UserName,
                Icon = data.UserIcon
            };
            SharedTime = data.SharedTime;
            ExpireTime = data.ExpireTime;

            if (shareTrackers != null) {
                foreach (var t in shareTrackers) {
                    trackers.Add (new UserInfo () {
                        Id = t.TrackerId,
                        Name = t.UserName,
                        Icon = t.UserIcon
                    });
                }
            }
        }
Exemple #2
0
 public UserInfo(UserInfo u)
 {
     Id = u.Id;
     Name = u.Name;
     Icon = u.Icon;
 }
Exemple #3
0
        public static TrackedShare RegisterTracker(string publicShareId, UserInfo trackerInfo)
        {
            try {
                var db = GetConnection ();

                var s = db.SelectObjectWhere<LocationShareData> ("publicId = {0}", publicShareId);
                if (s == null)
                    return null;

                var t = new TrackerData () {
                    TrackerId = GenerateRandomId (),
                    SharePrivateId = s.PrivateId,
                    UserId = trackerInfo.Id,
                    UserRegistrationId = trackerInfo.RegistrationId,
                    UserName = trackerInfo.Name,
                    UserIcon = trackerInfo.Icon
                };
                db.InsertObject (t);

                LogService.Log ("Registered Tracker " + trackerInfo.Id + " for Target " + publicShareId + ", registration id " + trackerInfo.RegistrationId);
                NotifyTrackerAdded (t);
                return new TrackedShare (s, t.TrackerId);
            } catch (Exception ex) {
                ThrowFailure (ex);
                throw;
            }
        }
Exemple #4
0
        public static LocationShare CreateLocationShare(UserInfo user, ShareSettings settings)
        {
            try {
                Console.WriteLine ("test");
                LocationShareData data = new LocationShareData () {
                    UserId = user.Id,
                    UserName = user.Name,
                    UserIcon = user.Icon,
                    UserRegistrationId = user.RegistrationId,
                    PublicId = GenerateRandomId (),
                    PrivateId = GenerateRandomId (),
                    Longitude = 0,
                    Latitude = 0,
                    SharedTime = DateTime.Now,
                    ExpireTime = settings.CalculateTimeout (),
                    ExpireOnArrival = settings.CancelOnArrival
                };

                var db = GetConnection ();
                db.InsertObject (data);
                LogService.Log ("Registered Share " + data.PublicId + ", with private Id " + data.PrivateId + ", registration id " + user.RegistrationId);
                return new LocationShare (data, null);
            } catch (Exception e) {
                ThrowFailure (e);
                throw;
            }
        }
Exemple #5
0
 public TrackedShare(LocationShareData s, string trackerId)
 {
     TrackerId = trackerId;
     Id = s.PublicId;
     Longitude = s.Longitude;
     Latitude = s.Latitude;
     User = new UserInfo () {
         Name = s.UserName,
         Icon = s.UserIcon
     };
 }
Exemple #6
0
 public PublicLocationShare(LocationShareData t)
 {
     Id = t.PublicId;
     Longitude = t.Longitude;
     Latitude = t.Latitude;
     User = new UserInfo () {
         Name = t.UserName,
         Icon = t.UserIcon
     };
 }
 public TrackedShare RegisterTracker(string publicShareId, UserInfo trackerInfo)
 {
     return TrackService.RegisterTracker (publicShareId, trackerInfo);
 }
 public LocationShare CreateLocationShare(UserInfo user, ShareSettings settings)
 {
     return TrackService.CreateLocationShare (user, settings);
 }