public MainViewModel(ISignalRHubSync signalRHubSync, IContext context)
        {
            _signalRHubSync = signalRHubSync;
            _context = context;
            MyMessages = new ObservableCollection<MyMessage>();
            AddMessageCommand = new DelegateCommand(OnAddMessageExecute, OnAddMessageCanExecute);
            SendHeartbeatCommand = new DelegateCommand(OnSendHeartbeatExecute, OnSendHeartbeatCanExecute);
            SendObjectCommand = new DelegateCommand(OnSendObjectExecute, OnSendObjectCanExecute);

            DisconnectSignalR = new DelegateCommand(OnDisconnectSignalRExecute, OnDisconnectSignalRCanExecute);
            ConnectSignalR = new DelegateCommand(OnConnectSignalRExecute, OnConnectSignalRCanExecute);

            _signalRHubSync.ConnectionEvent += _signalRHubSync_ConnectionEvent;
            _signalRHubSync.RecieveMessageEvent += _signalRHubSync_RecieveMessageEvent;
        }
        public MainViewModel(ISignalRHubSync signalRHubSync, IContext context)
        {
            _signalRHubSync      = signalRHubSync;
            _context             = context;
            MyMessages           = new ObservableCollection <MyMessage>();
            AddMessageCommand    = new DelegateCommand(OnAddMessageExecute, OnAddMessageCanExecute);
            SendHeartbeatCommand = new DelegateCommand(OnSendHeartbeatExecute, OnSendHeartbeatCanExecute);
            SendObjectCommand    = new DelegateCommand(OnSendObjectExecute, OnSendObjectCanExecute);

            DisconnectSignalR = new DelegateCommand(OnDisconnectSignalRExecute, OnDisconnectSignalRCanExecute);
            ConnectSignalR    = new DelegateCommand(OnConnectSignalRExecute, OnConnectSignalRCanExecute);

            _signalRHubSync.ConnectionEvent     += _signalRHubSync_ConnectionEvent;
            _signalRHubSync.RecieveMessageEvent += _signalRHubSync_RecieveMessageEvent;
        }