Ejemplo n.º 1
0
        private void xClearMatchBtn_Click(object sender, RoutedEventArgs e)
        {
            DeltaAPIModel deltaAPI = null;

            deltaAPI = GetFrameElementDataContext(sender) as DeltaAPIModel;

            int modelIndex = xApisSelectionGrid.DataSourceList.IndexOf(deltaAPI);

            if (deltaAPI != null)
            {
                if (deltaAPI.matchingAPIModel != null)
                {
                    deltaAPI.matchingAPIModel      = null;
                    deltaAPI.comparisonStatus      = DeltaAPIModel.eComparisonOutput.Unknown;
                    deltaAPI.SelectedOperationEnum = DeltaAPIModel.eHandlingOperations.Add;
                    deltaAPI.SelectedOperation     = DeltaAPIModel.GetEnumDescription(deltaAPI.SelectedOperationEnum);

                    xApisSelectionGrid.DataSourceList = xApisSelectionGrid.DataSourceList;

                    // xApisSelectionGrid.DataSourceList.RemoveAt(modelIndex);
                    // xApisSelectionGrid.DataSourceList.Insert(modelIndex, deltaAPI);

                    //IObservableList sourceInstance = xApisSelectionGrid.DataSourceList;
                    //xApisSelectionGrid.DataSourceList = sourceInstance;
                }
            }
        }
        public APIModelsCompareMergePage(DeltaAPIModel deltaAPIModel, Window ownerWindow)
        {
            InitializeComponent();
            mDeltaAPIModel = deltaAPIModel;

            mOwnerWindow = ownerWindow;

            APIModelPage existingAPIPage = new APIModelPage(deltaAPIModel.matchingAPIModel, General.eRIPageViewMode.View);
            APIModelPage learnedAPIPage  = new APIModelPage(deltaAPIModel.learnedAPI, General.eRIPageViewMode.View);

            xExistingAPIFrame.Content = existingAPIPage;
            xLearnedAPIFrame.Content  = learnedAPIPage;
        }
        void ShowMergerPage(object sender)
        {
            DeltaAPIModel deltaAPI = null;
            var           fEl      = sender as FrameworkElement;

            if (fEl != null)
            {
                deltaAPI = fEl.DataContext as DeltaAPIModel;
            }
            if (deltaAPI != null)
            {
                if (deltaAPI.mergerPageObject == null)
                {
                    deltaAPI.mergerPageObject = new APIModelsCompareMergePage(deltaAPI, (Window)AddAPIModelWizard.mWizardWindow);
                }

                (deltaAPI.mergerPageObject as APIModelsCompareMergePage).ShowAsWindow();
            }
        }
        private void XManualMatchBtn_Click(object sender, RoutedEventArgs e)
        {
            DeltaAPIModel deltaAPI = null;

            deltaAPI = GetFrameElementDataContext(sender) as DeltaAPIModel;

            if (deltaAPI != null)
            {
                int indexOfCurrentDelta = xApisSelectionGrid.DataSourceList.IndexOf(deltaAPI);
                SingleItemTreeViewSelectionPage apiModelTreeSelectionPage = null;
                AppApiModelsFolderTreeItem      apiRoot = new AppApiModelsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>());

                apiModelTreeSelectionPage = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, apiRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Single, true,
                                                                                new System.Tuple <string, string>(nameof(ApplicationAPIModel.APIType), deltaAPI.learnedAPI.APIType.ToString()));

                apiModelTreeSelectionPage.xTreeView.Tree.RefresTreeNodeChildrens(apiRoot);

                List <object> selectedList = apiModelTreeSelectionPage.ShowAsWindow("Matching API Models", (Window)AddAPIModelWizard.mWizardWindow);

                ApplicationAPIModel selectedAPIModel = null;
                if (selectedList != null)
                {
                    selectedAPIModel = selectedList.FirstOrDefault() as ApplicationAPIModel;
                    //deltaAPI.matchingAPIModel = selectedAPIModel;

                    ObservableList <ApplicationAPIModel> selectedMatchingAPIList = new ObservableList <ApplicationAPIModel>()
                    {
                        selectedAPIModel
                    };
                    ObservableList <ApplicationAPIModel> apiModelsListLearned = new ObservableList <ApplicationAPIModel>()
                    {
                        deltaAPI.learnedAPI
                    };

                    ObservableList <DeltaAPIModel> comparisonOutputDelta = APIDeltaUtils.DoAPIModelsCompare(apiModelsListLearned, selectedMatchingAPIList);

                    deltaAPI = comparisonOutputDelta.FirstOrDefault();

                    xApisSelectionGrid.DataSourceList[indexOfCurrentDelta] = deltaAPI;
                }
            }
        }
        private void XHandlingOperation_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox handlingOpCB      = sender as ComboBox;
            string   mergerDescription = Convert.ToString(DeltaAPIModel.GetEnumDescription(DeltaAPIModel.eHandlingOperations.MergeChanges));

            if (handlingOpCB != null && handlingOpCB.SelectedItem != null)
            {
                DeltaAPIModel.eHandlingOperations selectedOperation = DeltaAPIModel.GetValueFromDescription <DeltaAPIModel.eHandlingOperations>(Convert.ToString(handlingOpCB.SelectedItem));

                DeltaAPIModel deltaAPI = null;
                var           fEl      = sender as FrameworkElement;
                if (fEl != null)
                {
                    deltaAPI = fEl.DataContext as DeltaAPIModel;
                }
                if (deltaAPI != null)
                {
                    deltaAPI.SelectedOperation = Convert.ToString(handlingOpCB.SelectedItem);

                    // Update default Operation Enum field
                    deltaAPI.SelectedOperationEnum = selectedOperation;
                    if (selectedOperation == DeltaAPIModel.eHandlingOperations.DoNotAdd)
                    {
                        deltaAPI.IsSelected = false;
                    }
                    else
                    {
                        deltaAPI.IsSelected = true;
                    }
                }

                // Launch the Merger Window as Merge Changes is selected.
                if (handlingOpCB.SelectedItem.Equals(mergerDescription))
                {
                    ShowMergerPage(sender);
                }
            }
        }