private void HandleInvalidSupportedToolsData(Exception e)
 {
     if (e is FileNotFoundException)
     {
         FileNotFoundException ex = e as FileNotFoundException;
         ExManagementApplicationLogger.LogEvent(ManagementEventLogConstants.Tuple_SupportedToolsInformationFileMissing, new string[]
         {
             ex.FileName
         });
     }
     else if (e is InvalidDataException)
     {
         ExManagementApplicationLogger.LogEvent(ManagementEventLogConstants.Tuple_SupportedToolsInformationDataFileInconsistent, new string[]
         {
             GetToolInformation.GetFilePath("SupportedTools.xml"),
             e.Message
         });
     }
     else
     {
         Exception ex2 = e.InnerException ?? e;
         ExManagementApplicationLogger.LogEvent(ManagementEventLogConstants.Tuple_SupportedToolsInformationDataFileCorupted, new string[]
         {
             GetToolInformation.GetFilePath("SupportedTools.xml"),
             ex2.Message
         });
     }
     base.WriteError(new SupportedToolsDataException(Strings.SupportedToolsUnableToGetToolData), ErrorCategory.InvalidData, null);
 }
 protected override void InternalStateReset()
 {
     base.InternalStateReset();
     if (this.tenantVersionRequired)
     {
         this.session = GetToolInformation.CreateSession();
     }
 }
 private void LoadSupportedToolsData()
 {
     try
     {
         this.toolsData = SupportedToolsData.GetSupportedToolData(GetToolInformation.GetFilePath("SupportedTools.xml"), GetToolInformation.GetFilePath("SupportedTools.xsd"));
     }
     catch (Exception e)
     {
         this.HandleInvalidSupportedToolsData(e);
     }
 }
        private ToolInformation ConstructOutputObject(SupportedVersion supportedVersion)
        {
            ToolInformation result;

            try
            {
                Version           version       = SupportedToolsData.GetVersion(supportedVersion.minSupportedVersion, SupportedToolsData.MinimumVersion);
                Version           version2      = SupportedToolsData.GetVersion(supportedVersion.latestVersion, SupportedToolsData.MaximumVersion);
                ToolVersionStatus versionStatus = GetToolInformation.GetVersionStatus(version, version2, this.Version);
                Uri updateInformationUrl        = (versionStatus != ToolVersionStatus.LatestVersion) ? new Uri(supportedVersion.updateUrl) : null;
                result = new ToolInformation(this.Identity, versionStatus, version, version2, updateInformationUrl);
            }
            catch (Exception e)
            {
                this.HandleInvalidSupportedToolsData(e);
                result = null;
            }
            return(result);
        }