コード例 #1
0
        private List <Entity> PreparareSolutionsToTransfer()
        {
            var solutionsToTransfer = new List <Entity>();

            if (mForm.SelectedSolutions.Count > 1)
            {
                // Open dialog to order solutions import
                foreach (var solution in mForm.SelectedSolutions)
                {
                    solutionsToTransfer.Add(solution);
                }

                var dialog = new SolutionOrderDialog(solutionsToTransfer);
                if (dialog.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    solutionsToTransfer = dialog.Solutions;
                }
                else
                {
                    return(new List <Entity>());
                }
            }
            else
            {
                solutionsToTransfer.Add(mForm.SelectedSolutions.First());
            }

            return(solutionsToTransfer);
        }
コード例 #2
0
        private void TsbTransfertSolutionClick(object sender, EventArgs e)
        {
            if (lstSourceSolutions.SelectedItems.Count > 0 && AdditionalConnectionDetails.Any())
            {
                var item = lstSourceSolutions.SelectedItems[0];

                var solutionsToTransfer = new List <string>();
                if (lstSourceSolutions.SelectedItems.Count > 1)
                {
                    // Open dialog to order solutions import
                    foreach (ListViewItem sourceItem in lstSourceSolutions.SelectedItems)
                    {
                        solutionsToTransfer.Add(sourceItem.Text);
                    }

                    var dialog = new SolutionOrderDialog(solutionsToTransfer);
                    if (dialog.ShowDialog(ParentForm) == DialogResult.OK)
                    {
                        solutionsToTransfer = dialog.Solutions;
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    solutionsToTransfer.Add(item.Text);
                }

                infoPanel = InformationPanel.GetInformationPanel(this, "Initializing...", 340, 120);

                var requests = new List <OrganizationRequest>();

                foreach (var solution in solutionsToTransfer)
                {
                    var importId = Guid.NewGuid();

                    requests.Add(new ExportSolutionRequest
                    {
                        Managed      = chkExportAsManaged.Checked,
                        SolutionName = solution,
                        ExportAutoNumberingSettings          = chkAutoNumering.Checked,
                        ExportCalendarSettings               = chkCalendar.Checked,
                        ExportCustomizationSettings          = chkCustomization.Checked,
                        ExportEmailTrackingSettings          = chkEmailTracking.Checked,
                        ExportGeneralSettings                = chkGeneral.Checked,
                        ExportIsvConfig                      = chkIsvConfig.Checked,
                        ExportMarketingSettings              = chkMarketing.Checked,
                        ExportOutlookSynchronizationSettings = chkOutlookSynchronization.Checked,
                        ExportRelationshipRoles              = chkRelationshipRoles.Checked
                    });

                    requests.Add(new ImportSolutionRequest
                    {
                        ConvertToManaged = chkConvertToManaged.Checked,
                        OverwriteUnmanagedCustomizations = chkOverwriteUnmanagedCustomizations.Checked,
                        PublishWorkflows = chkActivate.Checked,
                        ImportJobId      = importId
                    });
                }

                if (!chkExportAsManaged.Checked && chkPublish.Checked)
                {
                    requests.Add(new PublishAllXmlRequest());
                }

                tsbDownloadLogFile.Enabled         = false;
                tsbFindMissingDependencies.Enabled = false;
                tsbLoadSolutions.Enabled           = false;
                tsbTransfertSolution.Enabled       = false;
                btnAddTarget.Enabled = false;
                Cursor = Cursors.WaitCursor;

                using (var worker = new BackgroundWorker())
                {
                    worker.DoWork               += WorkerDoWorkExport;
                    worker.ProgressChanged      += WorkerProgressChanged;
                    worker.RunWorkerCompleted   += WorkerRunWorkerCompleted;
                    worker.WorkerReportsProgress = true;
                    worker.RunWorkerAsync(requests);
                }
            }
            else
            {
                MessageBox.Show("You have to select a source solution and a target organization to continue.", "Warning",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }