public SolutionPackagerControl(Type pluginType)
        {
            this.pluginType = pluginType;
            InitializeComponent();

            pluginViewModel        = new PluginViewModel();
            asyncWorkQueue         = new AsyncWorkQueue(this, pluginViewModel);
            coreToolsDownloader    = new CoreToolsDownloader(asyncWorkQueue, pluginViewModel);
            solutionPackagerCaller = new SolutionPackagerCaller(this, asyncWorkQueue, txtOutput);
            crmSolutionManager     = new CrmSolutionManager(this, asyncWorkQueue, solutionPackagerCaller, cmbCrmSolutions);

            localOrCrm.DataBindings.Add(nameof(localOrCrm.Enabled), pluginViewModel, nameof(pluginViewModel.HasConnection));
            grpExportSolution.DataBindings.Add(nameof(grpExportSolution.Visible), pluginViewModel, nameof(pluginViewModel.LocalOrCrm));

            btnRefreshSolutions.DataBindings.Add(nameof(btnRefreshSolutions.Enabled), pluginViewModel, nameof(pluginViewModel.LocalOrCrm));
            tabsExtractOrPack.DataBindings.Add(nameof(tabsExtractOrPack.Enabled), pluginViewModel, nameof(pluginViewModel.AllowRequests));

            txtCoreTools.DataBindings.Add(nameof(txtCoreTools.Text), pluginViewModel, nameof(pluginViewModel.SolutionPackagerVersion));

            pluginViewModel.PropertyChanged += PluginViewModel_PropertyChanged;

            cmbLanguage.Items.AddRange(new object[] { CultureInfo.GetCultureInfo("en"), CultureInfo.GetCultureInfo("it") });
            cmbLanguage.SelectedIndex            = 0;
            cmbPackageTypeExtract.SelectedIndex  = 0;
            cmbSourceLocaleExtract.SelectedIndex = 0;
            cmbErrorLevelExtract.SelectedIndex   = 0;
            cmbPackageTypePack.SelectedIndex     = 0;
            cmbErrorLevelPack.SelectedIndex      = 0;
        }
예제 #2
0
        public SolutionPackagerControl()
        {
            InitializeComponent();

            pluginViewModel        = new PluginViewModel();
            asyncWorkQueue         = new AsyncWorkQueue(this, pluginViewModel);
            coreToolsDownloader    = new CoreToolsDownloader(asyncWorkQueue, txtCoreTools);
            solutionPackagerCaller = new SolutionPackagerCaller(asyncWorkQueue, txtOutput);
            crmSolutionManager     = new CrmSolutionManager(this, asyncWorkQueue, solutionPackagerCaller, cmbCrmSolutions);

            localOrCrm.DataBindings.Add(nameof(localOrCrm.Enabled), pluginViewModel, nameof(pluginViewModel.HasConnection));
            grpExportSolution.DataBindings.Add(nameof(grpExportSolution.Visible), pluginViewModel, nameof(pluginViewModel.LocalOrCrm));

            btnRefreshSolutions.DataBindings.Add(nameof(btnRefreshSolutions.Enabled), pluginViewModel, nameof(pluginViewModel.LocalOrCrm));
            tabsExtractOrPack.DataBindings.Add(nameof(tabsExtractOrPack.Enabled), pluginViewModel, nameof(pluginViewModel.AllowRequests));
        }
예제 #3
0
 public AsyncWorkQueue(SolutionPackagerControl solutionPackagerControl, PluginViewModel pluginViewModel)
 {
     this.queue = new Queue <Job>();
     this.solutionPackagerControl = solutionPackagerControl;
     this.pluginViewModel         = pluginViewModel;
 }
 public CoreToolsDownloader(AsyncWorkQueue workQueue, PluginViewModel pluginViewModel)
 {
     this.workQueue = workQueue ?? throw new ArgumentNullException(nameof(workQueue));
     this.pluginViewModel = pluginViewModel ?? throw new ArgumentNullException(nameof(pluginViewModel));
 }