Exemple #1
0
        public MigAzForm()
        {
            InitializeComponent();
            _logProvider            = new FileLogProvider();
            _logProvider.OnMessage += _logProvider_OnMessage;
            _statusProvider         = new UIStatusProvider(this.toolStripStatusLabel1);
            _appSettingsProvider    = new AppSettingsProvider();
            _AzureEnvironments      = AzureEnvironment.GetAzureEnvironments();
            _AzureRetriever         = new AzureRetriever(_logProvider, _statusProvider);
            _TargetAzureContext     = new AzureContext(_AzureRetriever, _appSettingsProvider.GetTargetSettings(), app.Default.LoginPromptBehavior);
            _AzureGenerator         = new AzureGenerator(_logProvider, _statusProvider);

            if (app.Default.UserDefinedAzureEnvironments != null && app.Default.UserDefinedAzureEnvironments != String.Empty)
            {
                _UserDefinedAzureEnvironments = JsonConvert.DeserializeObject <List <AzureEnvironment> >(app.Default.UserDefinedAzureEnvironments);
            }

            targetAzureContextViewer.Bind(_TargetAzureContext, _AzureRetriever, _AzureEnvironments, ref _UserDefinedAzureEnvironments);

            propertyPanel1.Clear();
            splitContainer2.SplitterDistance = this.Height / 2;
            splitContainer3.SplitterDistance = splitContainer3.Width / 2;
            splitContainer4.SplitterDistance = 45;

            lblLastOutputRefresh.Text = String.Empty;
            txtDestinationFolder.Text = AppDomain.CurrentDomain.BaseDirectory;

            // Future thought, do away with the "Set"s and consolidate to a Bind?
            this.targetTreeView1.LogProvider    = this.LogProvider;
            this.targetTreeView1.StatusProvider = this.StatusProvider;
            this.targetTreeView1.ImageList      = this.imageList1;
            this.targetTreeView1.TargetSettings = _appSettingsProvider.GetTargetSettings();

            this.propertyPanel1.TargetTreeView   = targetTreeView1;
            this.propertyPanel1.PropertyChanged += PropertyPanel1_PropertyChanged;

            AlertIfNewVersionAvailable();
        }