ARUP.IssueTracker.Revit.Entry.AppMain.OnStartup C# (CSharp) Метод

OnStartup() публичный Метод

Startup
public OnStartup ( UIControlledApplication application ) : System.Result
application UIControlledApplication
Результат System.Result
    public Result OnStartup(UIControlledApplication application)
    {

      try
      {

        // Version
          if (!application.ControlledApplication.VersionName.Contains("2014") && !application.ControlledApplication.VersionName.Contains("2015"))
          {
              using (TaskDialog td = new TaskDialog("Cannot Continue"))
              {
                  td.TitleAutoPrefix = false;
                  td.MainInstruction = "Incompatible Revit Version";
                  td.MainContent = "This Add-In was built for Revit 2014 and 2015, please contact CASE for assistance.";
                  td.Show();
              }
              return Result.Cancelled;
          }

        // Master Tab 
        const string c_tabName = "CASE";

        try
        {
          // Create the Tab
          application.CreateRibbonTab(c_tabName);
        }
        catch { }

        // Assembly Paths
        string m_issuetracker = Path.Combine(ProgramFilesx86(), "CASE", "ARUP Issue Tracker", "ARUP.IssueTracker.dll");

        // Check that File Exists
        if (!File.Exists(m_issuetracker))
        {
          using (TaskDialog td = new TaskDialog("Cannot Continue"))
          {
            td.TitleAutoPrefix = false;
            td.MainInstruction = "Required Issue Tracker Library Not Found";
            td.MainContent = m_issuetracker;
            td.Show();
          }
          return Result.Cancelled;
        }
        
        // Load Assemblies
        Assembly.LoadFrom(m_issuetracker);

        // Tab
        RibbonPanel m_panel = application.CreateRibbonPanel(c_tabName, "Arup Issue Tracker");

        // Button Data
        PushButton m_pushButton = m_panel.AddItem(new PushButtonData("Issue Tracker",
                                                                     "Issue Tracker", 
                                                                     Path.Combine(_path, "ARUP.IssueTracker.Revit.dll"),
                                                                     "ARUP.IssueTracker.Revit.Entry.CmdMain")) as PushButton;

        // Images and Tooltip
        if (m_pushButton != null)
        {
          m_pushButton.Image = LoadPngImgSource("ARUP.IssueTracker.Assets.ARUPIssueTrackerIcon16x16.png", m_issuetracker);
          m_pushButton.LargeImage = LoadPngImgSource("ARUP.IssueTracker.Assets.ARUPIssueTrackerIcon32x32.png", m_issuetracker);
          m_pushButton.ToolTip = "Arup Issue Manager";
        }
      }
      catch (Exception ex1)
      {
        MessageBox.Show("exception: " + ex1);
        return Result.Failed;
      }

      return Result.Succeeded;
    }