Ejemplo n.º 1
0
        public void ProcessManagerEventProvider_DistributionCompleted(object sender, DistributionResultEventArgs e)
        {
            List <ConnectedClient> faultedClients = new List <ConnectedClient>();
            ConnectedClient        client         = GetClientById(e.ClientId);

            if (client != null)
            {
                try
                {
                    Logger.Add(LogType.Verbose, $"Sending DistributionCompleted event: action = {e.DistributionResult.Type}, {e.DistributionResult.SourceMachineHostName} / {e.DistributionResult.GroupID} / {e.DistributionResult.ApplicationID} / {e.DistributionResult.DestinationMachineHostName}");
                    client.Caller.ServiceEvent_DistributionCompleted(new DTODistributionResult(e.DistributionResult));
                }
                catch (Exception ex)
                {
                    Logger.Add($"Failed to send DistributionCompleted event: action = {e.DistributionResult.Type}, {e.DistributionResult.SourceMachineHostName} / {e.DistributionResult.GroupID} / {e.DistributionResult.ApplicationID} / {e.DistributionResult.DestinationMachineHostName}", ex);
                    faultedClients.Add(client);
                }
            }
            RemoveFaultedClients(faultedClients);
        }
Ejemplo n.º 2
0
 public void ProcessManagerServiceEventHandler_DistributionCompleted(object sender, DistributionResultEventArgs e)
 {
 }
Ejemplo n.º 3
0
 private void DistributionWorker_DistributionCompleted(object sender, DistributionResultEventArgs e)
 {
     RaiseDistributionCompletedEvent(e.DistributionResult, e.ClientId);
 }
Ejemplo n.º 4
0
        private void ProcessManagerServiceEventHandler_DistributionCompleted(object sender, DistributionResultEventArgs e)
        {
            Machine sourceMachine      = new Machine(e.DistributionResult.SourceMachineHostName);
            Machine destinationMachine = new Machine(e.DistributionResult.DestinationMachineHostName);
            List <PlayableMacroAction> matchingPlayableMacroActions = new List <PlayableMacroAction>();

            lock (_macroPlaybackContainers)
            {
                matchingPlayableMacroActions.AddRange(_macroPlaybackContainers.Values
                                                      .SelectMany(container => container.PlayableMacroActions
                                                                  .Where(playableMacroAction => playableMacroAction.MacroAction.Type == MacroActionType.Distribute)
                                                                  .Select(playableMacroAction => new
                {
                    MacroAction         = (MacroDistributionAction)playableMacroAction.MacroAction,
                    PlayableMacroAction = playableMacroAction
                })
                                                                  .Where(x => x.MacroAction.SourceMachineID == sourceMachine.ID &&
                                                                         x.MacroAction.GroupID == e.DistributionResult.GroupID &&
                                                                         x.MacroAction.ApplicationID == e.DistributionResult.ApplicationID &&
                                                                         x.MacroAction.DestinationMachineID == destinationMachine.ID)
                                                                  .Select(x => x.PlayableMacroAction)));

                matchingPlayableMacroActions.ForEach(playableMacroAction => playableMacroAction.MacroActionState = Convert(e.DistributionResult.Result));
            }
            matchingPlayableMacroActions.ForEach(playableMacroAction =>
                                                 ControlPanel.ApplyMacroActionState(playableMacroAction.Macro.ID, playableMacroAction.MacroAction.ID, playableMacroAction.MacroActionState));
        }