public void ProcessMessage(GameMessage gameMessage, byte[] data) { Trace.WriteLine(string.Format("Recv Messsage: {0} - {1} - {2}", this.Device.User, gameMessage.ToString(), data.Length)); LastRecvTime = DateTime.Now; Database.GameState state = new Database.GameState(); state.PkGameState = Guid.NewGuid(); state.Game = this.Device.Game; state.Master = false; state.Device = this.Device.Device; state.Data = data; state.Date = DateTime.Now; state.Active = false; state.Received = true; try { lock (_gameDb) { _gameDb.GameStates.InsertOnSubmit(state); _gameDb.SubmitChanges(); } } catch { } // we got our game state if (null != GotGameUpdate) { GotGameUpdate(this, new GameUpdateEventArgs(gameMessage, data, data.Length)); } }