private void EditPenalty(UserConnection conn, SyncStateCommand command)
        {
            //var penalty = (Penalty)JsonConvert.DeserializeObject<Penalty>(command.Data.Penalty.ToString());
            var penalty = command.Data.Penalty.ToObject <Penalty>();

            this.UpdatePenalty(penalty);
        }
        private void UpdateOfftracks(UserConnection conn, SyncStateCommand command)
        {
            var offtracks = (List <Offtrack>)command.Data.Offtracks.ToObject <List <Offtrack> >();

            if (offtracks.Count == 0)
            {
                return;
            }

            foreach (var offtrack in offtracks)
            {
                var id = offtrack.DriverId;
                if (!this.State.OfftrackHistories.ContainsKey(id))
                {
                    this.State.OfftrackHistories.Add(id, new List <Offtrack>());
                }

                // Does an offtrack with the same id already exist?
                var existing = this.State.OfftrackHistories[id].LastOrDefault(o => o.UniqueId == offtrack.UniqueId);
                if (existing != null)
                {
                    // Update this offtrack
                    this.State.OfftrackHistories[id].Remove(existing);
                }
                this.State.OfftrackHistories[id].Add(offtrack);
            }
        }
        private void UpdateWatchedDriver(UserConnection conn, SyncStateCommand command)
        {
            int id = conn.User.CustId;

            if (!this.State.WatchedDrivers.ContainsKey(id))
            {
                this.State.WatchedDrivers.Add(id, -1); // -1 means 'not focused on driver'
            }
            this.State.WatchedDrivers[id] = (int)command.Data.CarId;
        }
        private void UpdateLiveStatus(UserConnection conn, SyncStateCommand command)
        {
            int id = conn.User.CustId;

            if (!this.State.LiveStatus.ContainsKey(id))
            {
                this.State.LiveStatus.Add(id, false);
            }
            this.State.LiveStatus[id] = (bool)command.Data.IsLive;
        }
        private void DeletePenalty(UserConnection conn, SyncStateCommand command)
        {
            var id      = (string)command.Data.PenaltyId;
            var penalty = this.State.Penalties.FirstOrDefault(p => p.Id == id);

            if (penalty != null)
            {
                this.State.Penalties.Remove(penalty);
            }
        }
 public static SyncStateCommand EditPenalty(Penalty penalty)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.EditPenalty;
     command.Data = new
     {
         Penalty = penalty
     };
     return command;
 }
 public static SyncStateCommand DeleteEvent(ReplayEvent @event)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.DeleteEvent;
     command.Data = new
     {
         Event = @event
     };
     return command;
 }
Example #8
0
 private void DeletePenalty(UserConnection conn, SyncStateCommand command)
 {
     var id = (string)command.Data.PenaltyId;
     var penalty = this.State.Penalties.FirstOrDefault(p => p.Id == id);
     if (penalty != null)
     {
         this.State.Penalties.Remove(penalty);
     }
 }
Example #9
0
 private void EditPenalty(UserConnection conn, SyncStateCommand command)
 {
     var penalty = command.Data.Penalty.ToObject<Penalty>();
     this.UpdatePenalty(penalty);
 }
Example #10
0
 private void UpdateLiveStatus(UserConnection conn, SyncStateCommand command)
 {
     int id = conn.User.CustId;
     if (!this.State.LiveStatus.ContainsKey(id))
     {
         this.State.LiveStatus.Add(id, false);
     }
     this.State.LiveStatus[id] = (bool)command.Data.IsLive;
 }
Example #11
0
 private void UpdateWatchedDriver(UserConnection conn, SyncStateCommand command)
 {
     int id = conn.User.CustId;
     if (!this.State.WatchedDrivers.ContainsKey(id))
     {
         this.State.WatchedDrivers.Add(id, -1); // -1 means 'not focused on driver'
     }
     this.State.WatchedDrivers[id] = (int)command.Data.CarId;
 }
 public static SyncStateCommand UpdateLiveStatus(bool live)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.LiveStatusChanged;
     command.Data = new { IsLive = live };
     return command;
 }
        private void AddEvent(UserConnection conn, SyncStateCommand command)
        {
            var @event = command.Data.Event.ToObject <ReplayEvent>();

            this.UpdateEvent(@event);
        }
        private void EditPenalty(UserConnection conn, SyncStateCommand command)
        {
            var penalty = command.Data.Penalty.ToObject <Penalty>();

            this.UpdatePenalty(penalty);
        }
 public static SyncStateCommand UpdateWatchedDriver(int carId)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.WatchedDriverChanged;
     command.Data = new {CarId = carId};
     return command;
 }
Example #16
0
 private void AddEvent(UserConnection conn, SyncStateCommand command)
 {
     var @event = command.Data.Event.ToObject<ReplayEvent>();
     this.UpdateEvent(@event);
 }
 public static SyncStateCommand UpdateOfftracks(List<Offtrack> offtracks)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.Offtracks;
     command.Data = new {Offtracks = offtracks};
     return command;
 }
 private void EditPenalty(UserConnection conn, SyncStateCommand command)
 {
     //var penalty = (Penalty)JsonConvert.DeserializeObject<Penalty>(command.Data.Penalty.ToString());
     var penalty = command.Data.Penalty.ToObject<Penalty>();
     this.UpdatePenalty(penalty);
 }
 public static SyncStateCommand DeletePenalty(Penalty penalty)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.DeletePenalty;
     command.Data = new
     {
         PenaltyId = penalty.Id
     };
     return command;
 }
 public static SyncStateCommand ClearOfftracks()
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.ClearOfftracks;
     return command;
 }
Example #21
0
        private void UpdateOfftracks(UserConnection conn, SyncStateCommand command)
        {
            var offtracks = (List<Offtrack>)command.Data.Offtracks.ToObject<List<Offtrack>>();
            if (offtracks.Count == 0) return;

            foreach (var offtrack in offtracks)
            {
                var id = offtrack.DriverId;
                if (!this.State.OfftrackHistories.ContainsKey(id))
                {
                    this.State.OfftrackHistories.Add(id, new List<Offtrack>());
                }

                // Does an offtrack with the same id already exist?
                var existing = this.State.OfftrackHistories[id].LastOrDefault(o => o.UniqueId == offtrack.UniqueId);
                if (existing != null)
                {
                    // Update this offtrack
                    this.State.OfftrackHistories[id].Remove(existing);
                }
                this.State.OfftrackHistories[id].Add(offtrack);
            }
        }
Example #22
0
 public void SendStateUpdate(SyncStateCommand command)
 {
     Debug.WriteLine(">> Sending state update: " + command);
     this.SendCommand(command);
     this.OnStateUpdated();
 }