コード例 #1
0
        private static Page APIModels()
        {
            AppApiModelsFolderTreeItem     apiRoot      = new AppApiModelsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>());
            SingleItemTreeViewExplorerPage apiModelPage = new SingleItemTreeViewExplorerPage("API Models", eImageType.APIModel, apiRoot, apiRoot.SaveAllTreeFolderItemsHandler, apiRoot.AddAPIModelFromDocument);

            return(apiModelPage);
        }
コード例 #2
0
        private bool ChangeAPIMapping(bool showNewMappingMessage = false)
        {
            RepositoryFolder <ApplicationAPIModel> APIModels = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>();

            if (APIModels.GetFolderItems().Count == 0)
            {
                Reporter.ToUser(eUserMsgKeys.NoAPIExistToMappedTo);
                return(false);
            }

            if (showNewMappingMessage)
            {
                Reporter.ToUser(eUserMsgKeys.APIMappedToActionIsMissing);
            }

            if (apiModelPage == null)
            {
                AppApiModelsFolderTreeItem apiRoot = new AppApiModelsFolderTreeItem(APIModels);
                apiModelPage = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, apiRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Single);
            }
            List <object> selectedList = apiModelPage.ShowAsWindow();

            if (selectedList != null && selectedList.Count == 1)
            {
                AAMB = (ApplicationAPIModel)selectedList[0];
                mAct.APImodelGUID = AAMB.Guid;
                return(true);
            }

            return(false);
        }
コード例 #3
0
        private void OpenAPITreeSelection()
        {
            if (apiModelTreeSelectionPage == null)
            {
                AppApiModelsFolderTreeItem apiRoot = new AppApiModelsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>());
                apiModelTreeSelectionPage = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, apiRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Multi, true,
                                                                                new System.Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." +
                                                                                                                  nameof(ApplicationPOMModel.TargetApplicationKey.ItemName),
                                                                                                                  System.Convert.ToString(mContext.Activity.TargetApplication)));
            }

            Window selectionPageOwenr = App.MainWindow;

            if (((WizardWindow)mAddApiModelActionWizardPage.mWizardWindow).IsVisible)
            {
                selectionPageOwenr = ((WizardWindow)mAddApiModelActionWizardPage.mWizardWindow);
            }

            List <object> selectedList = apiModelTreeSelectionPage.ShowAsWindow(ownerWindow: selectionPageOwenr);

            if (selectedList != null)
            {
                //Todo: Add folder inside folder with API's adding support
                foreach (ApplicationAPIModel aamb in selectedList)
                {
                    mAddApiModelActionWizardPage.AAMList.Add(aamb);
                }
            }
        }
コード例 #4
0
        private bool ChangeAPIMapping(bool showNewMappingMessage = false)
        {
            ObservableList <ApplicationAPIModel> APIModelsList = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <ApplicationAPIModel>();

            if (APIModelsList.Count == 0)
            {
                Reporter.ToUser(eUserMsgKey.NoAPIExistToMappedTo);
                return(false);
            }

            if (showNewMappingMessage)
            {
                Reporter.ToUser(eUserMsgKey.APIMappedToActionIsMissing);
            }

            if (apiModelPage == null)
            {
                RepositoryFolder <ApplicationAPIModel> APIModelsFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>();
                AppApiModelsFolderTreeItem             apiRoot         = new AppApiModelsFolderTreeItem(APIModelsFolder);
                apiModelPage = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, apiRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Single, true,
                                                                   new Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." +
                                                                                              nameof(ApplicationPOMModel.TargetApplicationKey.ItemName),
                                                                                              Convert.ToString(AAMB.TargetApplicationKey)));
            }
            List <object> selectedList = apiModelPage.ShowAsWindow();

            if (selectedList != null && selectedList.Count == 1)
            {
                AAMB = (ApplicationAPIModel)selectedList[0];
                mAct.APImodelGUID = AAMB.Guid;
                return(true);
            }

            return(false);
        }
コード例 #5
0
        private void OpenAPITreeSelection()
        {
            if (apiModelTreeSelectionPage == null)
            {
                AppApiModelsFolderTreeItem apiRoot = new AppApiModelsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>());
                apiModelTreeSelectionPage = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, apiRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Multi);
            }
            List <object> selectedList = apiModelTreeSelectionPage.ShowAsWindow();

            if (selectedList != null)
            {
                //Todo: Add folder inside folder with API's adding support
                foreach (ApplicationAPIModel aamb in selectedList)
                {
                    mAddApiModelActionWizardPage.AAMList.Add(aamb);
                }
            }
        }
コード例 #6
0
        public APINavPage(Context context)
        {
            InitializeComponent();

            mContext = context;

            AppApiModelsFolderTreeItem mAPIsRoot = new AppApiModelsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>(), true);

            mItemTypeRootNode = mAPIsRoot;
            mAPIPage          = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, mItemTypeRootNode, SingleItemTreeViewSelectionPage.eItemSelectionType.Multi, true,
                                                                    new Tuple <string, string>(nameof(ApplicationAPIModel.TargetApplicationKey) + "." + nameof(ApplicationAPIModel.TargetApplicationKey.ItemName), mContext.Activity.TargetApplication),
                                                                    UCTreeView.eFilteroperationType.Equals, showAlerts: false);

            mItemTypeRootNode.SetTools(mAPIPage.xTreeView);
            mAPIPage.xTreeView.SetTopToolBarTools(mAPIsRoot.SaveAllTreeFolderItemsHandler, mAPIsRoot.AddAPIModelFromDocument, RefreshTreeItems);

            mContext.PropertyChanged += MContext_PropertyChanged;
            xAPIFrame.Content         = mAPIPage;
        }
コード例 #7
0
        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;
                }
            }
        }