Inheritance: IOptionsViewModelBase, IOptionsModelBase, IPluginManager
        /// <summary>
        /// Initializes a new instance of the <see cref="LicenseViewerViewModel" /> class.
        /// </summary>
        /// <param name="plugincontroller">The plugincontroller.</param>
        /// <param name="helper">The helper.</param>
        public LicenseViewerViewModel(
            PluginManagerModel plugincontroller,
            IConfigurationHelper helper)
        {
            this.Header      = "License Manager";
            this.pluginModel = plugincontroller;
            this.confHelper  = helper;

            this.ForeGroundColor      = Colors.Black;
            this.ForeGroundColor      = Colors.Black;
            this.AvailableLicenses    = new ObservableCollection <VsLicense>();
            this.RefreshCommand       = new RelayCommand(this.GetLicensesFromServer);
            this.GenerateTokenCommand = new RelayCommand(this.OnGenerateTokenCommand, () => this.SelectedLicense != null);

            try
            {
                this.GetLicensesFromServer();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            // register model so it can be updated
            AssociationModel.RegisterNewModelInPool(this);
            SonarQubeViewModel.RegisterNewViewModelInPool(this);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="LicenseViewerViewModel" /> class.
        /// </summary>
        /// <param name="plugincontroller">The plugincontroller.</param>
        /// <param name="helper">The helper.</param>
        public LicenseViewerViewModel(
            PluginManagerModel plugincontroller,
            IConfigurationHelper helper)
        {
            this.Header = "License Manager";
            this.pluginModel = plugincontroller;
            this.confHelper = helper;

            this.ForeGroundColor = Colors.Black;
            this.ForeGroundColor = Colors.Black;
            this.AvailableLicenses = new ObservableCollection<VsLicense>();
            this.RefreshCommand = new RelayCommand(this.GetLicensesFromServer);
            this.GenerateTokenCommand = new RelayCommand(this.OnGenerateTokenCommand, () => this.SelectedLicense != null);

            try
            {
                this.GetLicensesFromServer();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            // register model so it can be updated
            AssociationModel.RegisterNewModelInPool(this);
            SonarQubeViewModel.RegisterNewViewModelInPool(this);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="PluginManagerView"/> class. 
 /// </summary>
 /// <param name="controller">
 /// The controller.
 /// </param>
 public PluginManagerView(PluginManagerModel controller)
 {
     this.InitializeComponent();
     this.DataContext = controller;
 }