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);
        }
Ejemplo n.º 2
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);
            }
        }
Ejemplo n.º 3
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;
        }
Ejemplo n.º 4
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;
        }
Ejemplo n.º 5
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);
            }
        }
Ejemplo n.º 6
0
 public static SyncStateCommand EditPenalty(Penalty penalty)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.EditPenalty;
     command.Data = new
     {
         Penalty = penalty
     };
     return command;
 }
Ejemplo n.º 7
0
 public static SyncStateCommand DeleteEvent(ReplayEvent @event)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.DeleteEvent;
     command.Data = new
     {
         Event = @event
     };
     return command;
 }
Ejemplo n.º 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);
     }
 }
Ejemplo n.º 9
0
 private void EditPenalty(UserConnection conn, SyncStateCommand command)
 {
     var penalty = command.Data.Penalty.ToObject<Penalty>();
     this.UpdatePenalty(penalty);
 }
Ejemplo n.º 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;
 }
Ejemplo n.º 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;
 }
Ejemplo n.º 12
0
 public static SyncStateCommand UpdateLiveStatus(bool live)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.LiveStatusChanged;
     command.Data = new { IsLive = live };
     return command;
 }
Ejemplo n.º 13
0
        private void AddEvent(UserConnection conn, SyncStateCommand command)
        {
            var @event = command.Data.Event.ToObject <ReplayEvent>();

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

            this.UpdatePenalty(penalty);
        }
Ejemplo n.º 15
0
 public static SyncStateCommand UpdateWatchedDriver(int carId)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.WatchedDriverChanged;
     command.Data = new {CarId = carId};
     return command;
 }
Ejemplo n.º 16
0
 private void AddEvent(UserConnection conn, SyncStateCommand command)
 {
     var @event = command.Data.Event.ToObject<ReplayEvent>();
     this.UpdateEvent(@event);
 }
Ejemplo n.º 17
0
 public static SyncStateCommand UpdateOfftracks(List<Offtrack> offtracks)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.Offtracks;
     command.Data = new {Offtracks = offtracks};
     return command;
 }
Ejemplo n.º 18
0
 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);
 }
Ejemplo n.º 19
0
 public static SyncStateCommand DeletePenalty(Penalty penalty)
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.DeletePenalty;
     command.Data = new
     {
         PenaltyId = penalty.Id
     };
     return command;
 }
Ejemplo n.º 20
0
 public static SyncStateCommand ClearOfftracks()
 {
     var command = new SyncStateCommand();
     command.StateUpdateType = SyncStateCommand.StateUpdateTypes.ClearOfftracks;
     return command;
 }
Ejemplo n.º 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);
            }
        }
Ejemplo n.º 22
0
 public void SendStateUpdate(SyncStateCommand command)
 {
     Debug.WriteLine(">> Sending state update: " + command);
     this.SendCommand(command);
     this.OnStateUpdated();
 }