Пример #1
0
        private void MergeBtn_Click(object sender, RoutedEventArgs e)
        {
            SaveFileDialog saveDialog = new SaveFileDialog();

            saveDialog.Filter   = "PowerApps app (*.msapp)|*.msapp";
            saveDialog.FileName = "MergedApp";
            saveDialog.Title    = "Save As";

            if (saveDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                MainViewModel model = this.DataContext as MainViewModel;

                try
                {
                    var mergeDetail1 = new List <MergeDetail> {
                        new MergeDetail {
                            AppData         = appData1,
                            SelectedScreens = model.ScreensFromApp1.Where(s => s.IsSelected = true).Select(p => p.Screen).ToList()
                        },
                        new MergeDetail {
                            AppData         = appData2,
                            SelectedScreens = model.ScreensFromApp2.Where(s => s.IsSelected = true).Select(p => p.Screen).ToList()
                        }
                    };

                    var mergedAppPath = mergeProcessor.MergeApps(mergeDetail1, saveDialog.FileName);

                    MessageBox.Show("The selected screens are merged and saved in  " + saveDialog.FileName, "Message", MessageBoxButton.OK);

                    System.Diagnostics.Process.Start(mergedAppPath);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Message", MessageBoxButton.OK);
                }
            }
        }