예제 #1
0
 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();
 }