private void ServiceHandler_ConnectionChanged(object sender, ServiceHandlerConnectionChangedEventArgs e)
        {
            try
            {
                Logger.Add($"{e.ServiceHandler.Machine}: Connection changed: status = {e.ServiceHandler.Status}", e.Exception);

                ModifyMachineConfiguration(e.ServiceHandler, e.Status == ProcessManagerServiceHandlerStatus.Connected);

                RaiseServiceHandlerConnectionChangedEvent(e.ServiceHandler, e.ServiceHandler.Status, e.Exception);
            }
            catch (Exception ex)
            {
                Logger.Add($"{e.ServiceHandler.Machine}: Connection changed, exception occurred: status = {e.ServiceHandler.Status}", ex);
                RaiseServiceHandlerConnectionChangedEvent(e.ServiceHandler, e.ServiceHandler.Status, ex);
            }
        }
예제 #2
0
 private void ServiceConnectionHandler_ServiceHandlerConnectionChanged(object sender, ServiceHandlerConnectionChangedEventArgs e)
 {
     this.InvokeIfRequired(() =>
     {
         Machine machine = ConnectionStore.Connections.Values.Where(x => x.ServiceHandler == e.ServiceHandler).Select(x => x.Machine).FirstOrDefault();
         if (machine != null && Machine == machine)
         {
             if (e.Status == ProcessManagerServiceHandlerStatus.Disconnected)
             {
                 _machineAvailable = false;
                 EnableControls(false);
                 Messenger.ShowWarning("Connection lost", "The connection to the targeted machine was lost.");
             }
             else if (e.Status == ProcessManagerServiceHandlerStatus.Connected)
             {
                 _machineAvailable = true;
                 EnableControls();
             }
         }
     });
 }
예제 #3
0
 private void ServiceConnectionHandler_ServiceHandlerInitializationCompleted(object sender, ServiceHandlerConnectionChangedEventArgs e)
 {
     if (e.Status == ProcessManagerServiceHandlerStatus.Connected)
     {
         Task.Run(() => DistributeSourceFilesThread(e.ServiceHandler.Machine));
     }
     else
     {
         ConnectionStore.RemoveConnection(e.ServiceHandler.Machine);
     }
 }
예제 #4
0
 private void ServiceConnectionHandler_ServiceHandlerConnectionChanged(object sender, ServiceHandlerConnectionChangedEventArgs e)
 {
     // do nothing?
 }