/// <summary>
 /// Initialize method implementation
 /// </summary>
 public override void Initialize(BaseProviderParams externalsystem)
 {
     try
     {
         if (!_isinitialized)
         {
             if (externalsystem is AzureProviderParams)
             {
                 AzureProviderParams az = externalsystem as AzureProviderParams;
                 TenantId        = az.Data.TenantId;
                 CertId          = az.Data.ThumbPrint;
                 STSIdentifier   = az.ADFSIdentifier;
                 CompanyName     = az.CompanyName;
                 Enabled         = az.Enabled;
                 IsRequired      = az.IsRequired;
                 PinRequired     = az.PinRequired;
                 WizardEnabled   = az.EnrollWizard;
                 ForceEnrollment = az.ForceWizard;
                 _isinitialized  = true;
                 return;
             }
             else
             {
                 throw new InvalidCastException("Invalid External Provider for Azue !");
             }
         }
     }
     catch (Exception ex)
     {
         this.Enabled   = false;
         _isinitialized = false;
         throw ex;
     }
 }
        /// <summary>
        /// Initialize method implementation
        /// </summary>
        public override void Initialize(BaseProviderParams externalsystem)
        {
            try
            {
                if (!_isinitialized)
                {
                    if (externalsystem is AzureProviderParams)
                    {
                        AzureProviderParams az = externalsystem as AzureProviderParams;
                        TenantId      = az.Data.TenantId;
                        CertId        = az.Data.ThumbPrint;
                        STSIdentifier = az.ADFSIdentifier;
                        CompanyName   = az.CompanyName;
                        // AllowEnrollment = az.EnrollWizard;
                        // EnrollmentNeverUseOptions = az.EnrollWizardStrict;
                        Enabled     = az.Enabled;
                        PinRequired = az.PinRequired;

                        _sasprovider   = new NeosSasProvider(TenantId, ClientId, CertId);
                        _isinitialized = true;
                        return;
                    }
                    else
                    {
                        throw new InvalidCastException("Invalid External Provider for Azue !");
                    }
                }
            }
            catch (Exception ex)
            {
                this.Enabled = false;
                throw ex;
            }
        }