void PostAutomationRequest(AutomationRequest Request) { try { if (!CanFocus) { Request.SetOutput(new AutomationRequestOutput(AutomationRequestResult.Busy)); } else if (Request.Input.Type == AutomationRequestType.SyncProject) { AutomationRequestOutput Output = StartAutomatedSync(Request, true); if (Output != null) { Request.SetOutput(Output); } } else if (Request.Input.Type == AutomationRequestType.FindProject) { AutomationRequestOutput Output = FindProject(Request); Request.SetOutput(Output); } else if (Request.Input.Type == AutomationRequestType.OpenProject) { AutomationRequestOutput Output = StartAutomatedSync(Request, false); if (Output != null) { Request.SetOutput(Output); } } else { Request.SetOutput(new AutomationRequestOutput(AutomationRequestResult.Invalid)); } } catch (Exception Ex) { Log.WriteLine("Exception running automation request: {0}", Ex); Request.SetOutput(new AutomationRequestOutput(AutomationRequestResult.Invalid)); } }
public void SetOutput(AutomationRequestOutput Output) { this.Output = Output; Complete.Set(); }