示例#1
0
        public override void RefreshTreeFolder(Type itemType, string path)
        {
            try
            {
                if (Reporter.ToUser(eUserMsgKey.RefreshFolder) == Amdocs.Ginger.Common.eUserMsgSelection.Yes)
                {
                    mBulkOperationIsInProcess = true;
                    //refresh cache
                    RepositoryFolderBase repoFolder = (RepositoryFolderBase)(((ITreeViewItem)this).NodeObject());
                    if (repoFolder != null)
                    {
                        repoFolder.ReloadItems(); // .RefreshFolderCache();
                    }
                    //refresh tree
                    mTreeView.Tree.RefresTreeNodeChildrens((ITreeViewItem)this);

                    mBulkOperationIsInProcess = false;
                }
            }
            catch (Exception ex)
            {
                Reporter.ToUser(eUserMsgKey.RefreshFailed, "Failed to refresh the item type cache for the folder: " + path);
                Reporter.ToLog(eLogLevel.ERROR, $"Method - {MethodBase.GetCurrentMethod().Name}, Error - {ex.Message}", ex);
                mBulkOperationIsInProcess = false;
            }
        }
示例#2
0
        public override void RefreshTreeFolder(Type itemType, string path)
        {
            try
            {
                if (System.Windows.MessageBox.Show("Un saved items changes under the refreshed folder will be lost, to continue with refresh?", "Refresh Folder", System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxImage.Warning, System.Windows.MessageBoxResult.No) == System.Windows.MessageBoxResult.Yes)
                {
                    mBulkOperationIsInProcess = true;
                    //refresh cache
                    RepositoryFolderBase repoFolder = (RepositoryFolderBase)(((ITreeViewItem)this).NodeObject());
                    repoFolder.ReloadItems(); // .RefreshFolderCache();

                    //refresh tree
                    mTreeView.Tree.RefresTreeNodeChildrens((ITreeViewItem)this);

                    mBulkOperationIsInProcess = false;
                }
            }
            catch (Exception ex)
            {
                //TODO: Fix with New Reporter (on GingerWPF)
                System.Windows.MessageBox.Show(String.Format("Failed to refresh the item type cache for the folder: '{0}'", path), "Refresh Failed", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error, System.Windows.MessageBoxResult.OK);
                Reporter.ToLog(eLogLevel.ERROR, $"Method - {MethodBase.GetCurrentMethod().Name}, Error - {ex.Message}");
                mBulkOperationIsInProcess = false;
            }
        }
        public Boolean UploadItemToRepository(Context context, UploadItemSelection itemToUpload)
        {
            try
            {
                RepositoryItemBase item         = itemToUpload.UsageItem;
                string             itemFileName = string.Empty;
                RepositoryItemBase itemCopy     = null;
                bool isOverwrite = false;
                if (itemToUpload.ItemUploadType == UploadItemSelection.eItemUploadType.Overwrite)
                {
                    isOverwrite = true;
                    itemCopy    = GetItemToOverrite(itemToUpload);
                }
                else
                {
                    itemCopy = (RepositoryItemBase)item.CreateCopy(false);
                }

                itemCopy.UpdateItemFieldForReposiotryUse();



                bool blockingIssuesHandled = HandleItemValidationIssues(context, itemToUpload, itemCopy, ref isOverwrite);

                if (blockingIssuesHandled == false)
                {
                    itemToUpload.ItemUploadStatus = UploadItemSelection.eItemUploadStatus.FailedToUpload;
                    return(false);
                }

                if (isOverwrite)
                {
                    WorkSpace.Instance.SolutionRepository.MoveSharedRepositoryItemToPrevVersion(itemToUpload.ExistingItem);

                    RepositoryFolderBase repositoryFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryFolderByPath(itemToUpload.ExistingItem.ContainingFolderFullPath);
                    repositoryFolder.AddRepositoryItem(itemCopy);
                }
                else
                {
                    WorkSpace.Instance.SolutionRepository.AddRepositoryItem(itemCopy);
                }

                itemToUpload.UsageItem.IsSharedRepositoryInstance = true;

                if (itemToUpload.ExistingItemType == UploadItemSelection.eExistingItemType.ExistingItemIsParent && itemToUpload.ItemUploadType == UploadItemSelection.eItemUploadType.New)
                {
                    itemToUpload.UsageItem.ParentGuid = Guid.Empty;
                }

                itemToUpload.ItemUploadStatus = UploadItemSelection.eItemUploadStatus.Uploaded;
                return(true);
            }
            catch (Exception e)
            {
                Reporter.ToLog(eLogLevel.ERROR, "failed to upload the repository item", e);
                itemToUpload.ItemUploadStatus = UploadItemSelection.eItemUploadStatus.FailedToUpload;
                return(false);
            }
        }
示例#4
0
        public override bool GetLatest(string path, ref string error, ref List <string> conflictsPaths)
        {
            if (client == null)
            {
                Init();
            }
            SvnUpdateResult result;

            try
            {
                RepositoryFolderBase repositoryFolderBase = WorkSpace.Instance.SolutionRepository.GetRepositoryFolderByPath(Path.GetDirectoryName(path));
                mConflictsPaths.Clear();
                repositoryFolderBase.PauseFileWatcher();
                client.Update(path, out result);
                repositoryFolderBase.ResumeFileWatcher();

                if (mConflictsPaths.Count > 0)
                {
                    conflictsPaths = mConflictsPaths;
                    return(false);
                }

                if (result.Revision != -1)
                {
                    if (supressMessage == true)
                    {
                        Reporter.ToLog(eLogLevel.DEBUG, "The solution was updated successfully to revision:  " + result.Revision);
                    }
                    else
                    {
                        Reporter.ToUser(eUserMsgKey.UpdateToRevision, result.Revision);
                    }
                }
                else
                {
                    if (supressMessage == true)
                    {
                        Reporter.ToLog(eLogLevel.ERROR, "Failed to update the solution from source control.Error Details: 'The files are not connected to source control'");
                    }
                    else
                    {
                        Reporter.ToUser(eUserMsgKey.SourceControlUpdateFailed, "The files are not connected to source control");
                    }
                }
            }
            catch (Exception ex)
            {
                client = null;
                error  = ex.Message + Environment.NewLine + ex.InnerException;
                return(false);
            }
            return(true);
        }
示例#5
0
 public override bool RenameTreeFolder(string originalName, string newFolderName, string newPath)
 {
     try
     {
         RepositoryFolderBase repoFolder = (RepositoryFolderBase)((ITreeViewItem)this).NodeObject();
         repoFolder.RenameFolder(newFolderName);
     }
     catch (Exception ex)
     {
         Reporter.ToLog(eLogLevel.ERROR, $"Method - {MethodBase.GetCurrentMethod().Name}, Error - {ex.Message}");
         return(false);
     }
     return(true);
 }
示例#6
0
        /// <summary>
        /// The function creates the folder tree node header
        /// </summary>
        /// <param name="repoItemFolder">the Repository Folder Base</param>
        /// <param name="imageType">Only if need different icon than default one then require to provide it</param>
        /// <returns></returns>
        protected StackPanel NewTVItemFolderHeaderStyle(RepositoryFolderBase repoItemFolder, eImageType imageType = eImageType.Null)
        {
            //The new item style with Source control
            StackPanel stack = new StackPanel();

            stack.Orientation = Orientation.Horizontal;

            if (WorkSpace.Instance.SourceControl != null)
            {
                // Source control image
                ImageMakerControl sourceControlImage = new ImageMakerControl();
                sourceControlImage.BindControl(repoItemFolder, nameof(RepositoryFolderBase.SourceControlStatus));
                sourceControlImage.Width  = 8;
                sourceControlImage.Height = 8;
                sourceControlImage.Margin = new Thickness(0, 0, 2, 0);
                stack.Children.Add(sourceControlImage);

                // Since it might take time to get the item status from SCM server
                // we run it on task so update will happen when status come back and we do not block the UI
                Task.Factory.StartNew(() =>
                {
                    repoItemFolder.RefreshFolderSourceControlStatus();
                });
            }

            // Add Item Image
            ImageMakerControl NodeImageType = new ImageMakerControl();

            if (imageType == eImageType.Null)
            {
                GingerCore.GeneralLib.BindingHandler.ObjFieldBinding(NodeImageType, ImageMakerControl.ImageTypeProperty, repoItemFolder, nameof(RepositoryFolderBase.FolderImageType), BindingMode: System.Windows.Data.BindingMode.OneWay);
            }
            else
            {
                NodeImageType.ImageType = imageType;
            }

            NodeImageType.Width  = 16;
            NodeImageType.Height = 16;
            stack.Children.Add(NodeImageType);

            // Add Item header text
            Label itemHeaderLabel = new Label();

            itemHeaderLabel.BindControl(repoItemFolder, "DisplayName");
            stack.Children.Add(itemHeaderLabel);


            return(stack);
        }
示例#7
0
        public override ITreeViewItem AddSubFolder(Type typeOfFolder, string newFolderName, string newFolderPath)
        {
            try
            {
                RepositoryFolderBase repoFolder = (RepositoryFolderBase)(((ITreeViewItem)this).NodeObject());
                repoFolder.AddSubFolder(newFolderName);

                return(null);
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eLogLevel.ERROR, $"Method - {MethodBase.GetCurrentMethod().Name}, Error - {ex.Message}", ex);
                return(null);
            }
        }
示例#8
0
        private static void HandleSolutionLoadSourceControl(Solution solution)
        {
            string RepositoryRootFolder = string.Empty;

            SourceControlBase.eSourceControlType type = SourceControlIntegration.CheckForSolutionSourceControlType(solution.Folder, ref RepositoryRootFolder);
            if (type == SourceControlBase.eSourceControlType.GIT)
            {
                solution.SourceControl = new GITSourceControl();
            }
            else if (type == SourceControlBase.eSourceControlType.SVN)
            {
                solution.SourceControl = new SVNSourceControl();
            }

            if (solution.SourceControl != null)
            {
                if (string.IsNullOrEmpty(WorkSpace.Instance.UserProfile.SolutionSourceControlUser) || string.IsNullOrEmpty(WorkSpace.Instance.UserProfile.SolutionSourceControlPass))
                {
                    if (WorkSpace.Instance.UserProfile.SourceControlUser != null && WorkSpace.Instance.UserProfile.SourceControlPass != null)
                    {
                        solution.SourceControl.SourceControlUser = WorkSpace.Instance.UserProfile.SourceControlUser;
                        solution.SourceControl.SourceControlPass = WorkSpace.Instance.UserProfile.SourceControlPass;
                        solution.SourceControl.SolutionSourceControlAuthorEmail = WorkSpace.Instance.UserProfile.SolutionSourceControlAuthorEmail;
                        solution.SourceControl.SolutionSourceControlAuthorName  = WorkSpace.Instance.UserProfile.SolutionSourceControlAuthorName;
                    }
                }
                else
                {
                    solution.SourceControl.SourceControlUser = WorkSpace.Instance.UserProfile.SolutionSourceControlUser;
                    solution.SourceControl.SourceControlPass = WorkSpace.Instance.UserProfile.SolutionSourceControlPass;
                    solution.SourceControl.SolutionSourceControlAuthorEmail = WorkSpace.Instance.UserProfile.SolutionSourceControlAuthorEmail;
                    solution.SourceControl.SolutionSourceControlAuthorName  = WorkSpace.Instance.UserProfile.SolutionSourceControlAuthorName;
                }

                string error = string.Empty;
                solution.SourceControl.SolutionFolder            = solution.Folder;
                solution.SourceControl.RepositoryRootFolder      = RepositoryRootFolder;
                solution.SourceControl.SourceControlURL          = solution.SourceControl.GetRepositoryURL(ref error);
                solution.SourceControl.SourceControlLocalFolder  = WorkSpace.Instance.UserProfile.SourceControlLocalFolder;
                solution.SourceControl.SourceControlProxyAddress = WorkSpace.Instance.UserProfile.SolutionSourceControlProxyAddress;
                solution.SourceControl.SourceControlProxyPort    = WorkSpace.Instance.UserProfile.SolutionSourceControlProxyPort;
                solution.SourceControl.SourceControlTimeout      = WorkSpace.Instance.UserProfile.SolutionSourceControlTimeout;

                WorkSpace.Instance.SourceControl = solution.SourceControl;
                RepositoryItemBase.SetSourceControl(solution.SourceControl);
                RepositoryFolderBase.SetSourceControl(solution.SourceControl);
            }
        }
示例#9
0
        public static bool UpdateFile(SourceControlBase SourceControl, string path)
        {
            string error         = string.Empty;
            bool   IsFileUpdated = true;
            RepositoryFolderBase repositoryFolderBase = WorkSpace.Instance.SolutionRepository.GetRepositoryFolderByPath(Path.GetDirectoryName(path));

            repositoryFolderBase.PauseFileWatcher();
            if (!SourceControl.UpdateFile(path, ref error))
            {
                IsFileUpdated = false;
                Reporter.ToUser(eUserMsgKey.GeneralErrorOccured, error);
                return(IsFileUpdated);
            }
            repositoryFolderBase.ResumeFileWatcher();
            return(IsFileUpdated);
        }
示例#10
0
        private static void HandleSolutionLoadSourceControl(Solution solution)
        {
            string repositoryRootFolder = string.Empty;

            WorkSpace.Instance.EventHandler.SetSolutionSourceControl(solution, ref repositoryRootFolder);

            if (solution.SourceControl != null && WorkSpace.Instance.UserProfile != null)
            {
                if (string.IsNullOrEmpty(WorkSpace.Instance.UserProfile.SolutionSourceControlUser) || string.IsNullOrEmpty(WorkSpace.Instance.UserProfile.SolutionSourceControlPass))
                {
                    if (WorkSpace.Instance.UserProfile.SourceControlUser != null && WorkSpace.Instance.UserProfile.SourceControlPass != null)
                    {
                        solution.SourceControl.SourceControlUser = WorkSpace.Instance.UserProfile.SourceControlUser;
                        solution.SourceControl.SourceControlPass = WorkSpace.Instance.UserProfile.SourceControlPass;
                        solution.SourceControl.SolutionSourceControlAuthorEmail = WorkSpace.Instance.UserProfile.SolutionSourceControlAuthorEmail;
                        solution.SourceControl.SolutionSourceControlAuthorName  = WorkSpace.Instance.UserProfile.SolutionSourceControlAuthorName;
                    }
                }
                else
                {
                    solution.SourceControl.SourceControlUser = WorkSpace.Instance.UserProfile.SolutionSourceControlUser;
                    solution.SourceControl.SourceControlPass = WorkSpace.Instance.UserProfile.SolutionSourceControlPass;
                    solution.SourceControl.SolutionSourceControlAuthorEmail = WorkSpace.Instance.UserProfile.SolutionSourceControlAuthorEmail;
                    solution.SourceControl.SolutionSourceControlAuthorName  = WorkSpace.Instance.UserProfile.SolutionSourceControlAuthorName;
                }

                string error = string.Empty;

                solution.SourceControl.SolutionFolder            = solution.Folder;
                solution.SourceControl.RepositoryRootFolder      = repositoryRootFolder;
                solution.SourceControl.SourceControlURL          = solution.SourceControl.GetRepositoryURL(ref error);
                solution.SourceControl.SourceControlLocalFolder  = WorkSpace.Instance.UserProfile.SourceControlLocalFolder;
                solution.SourceControl.SourceControlProxyAddress = WorkSpace.Instance.UserProfile.SolutionSourceControlProxyAddress;
                solution.SourceControl.SourceControlProxyPort    = WorkSpace.Instance.UserProfile.SolutionSourceControlProxyPort;
                solution.SourceControl.SourceControlTimeout      = WorkSpace.Instance.UserProfile.SolutionSourceControlTimeout;

                if (solution.SourceControl.GetSourceControlType == SourceControlBase.eSourceControlType.GIT)
                {
                    solution.SourceControl.SourceControlBranch = Ginger.SourceControl.SourceControlIntegration.GetCurrentBranchForSolution(solution.SourceControl);
                }

                WorkSpace.Instance.SourceControl = solution.SourceControl;
                RepositoryItemBase.SetSourceControl(solution.SourceControl);
                RepositoryFolderBase.SetSourceControl(solution.SourceControl);
            }
        }
示例#11
0
        public void AddTestSetFlowToFolder(BusinessFlow businessFlow, string folderPath)
        {
            bool addItemToRootFolder = true;

            if (!string.IsNullOrEmpty(folderPath))
            {
                RepositoryFolderBase repositoryFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryFolderByPath(folderPath);
                if (repositoryFolder != null)
                {
                    repositoryFolder.AddRepositoryItem(businessFlow);
                    addItemToRootFolder = false;
                }
            }
            if (addItemToRootFolder)
            {
                WorkSpace.Instance.SolutionRepository.AddRepositoryItem(businessFlow);
            }
        }
示例#12
0
        /// <summary>
        /// The function creates the folder tree node header
        /// </summary>
        /// <param name="repoItemFolder">the Repository Folder Base</param>
        /// <param name="imageType">Only if need different icon than default one then require to provide it</param>
        /// <returns></returns>
        protected StackPanel NewTVItemFolderHeaderStyle(RepositoryFolderBase repoItemFolder, eImageType imageType = eImageType.Null)
        {
            //The new item style with Source control
            StackPanel stack = new StackPanel();

            stack.Orientation = Orientation.Horizontal;

            if (WorkSpace.Instance.SourceControl != null)
            {
                // Source control image
                ImageMakerControl sourceControlImage = new ImageMakerControl();
                sourceControlImage.BindControl(repoItemFolder, nameof(RepositoryFolderBase.SourceControlStatus));
                repoItemFolder.RefreshFolderSourceControlStatus();
                sourceControlImage.Width  = 8;
                sourceControlImage.Height = 8;
                sourceControlImage.Margin = new Thickness(0, 0, 2, 0);
                stack.Children.Add(sourceControlImage);
            }

            // Add Item Image
            ImageMakerControl NodeImageType = new ImageMakerControl();

            if (imageType == eImageType.Null)
            {
                BindingLib.ControlsBinding.ObjFieldBinding(NodeImageType, ImageMakerControl.ImageTypeProperty, repoItemFolder, nameof(RepositoryFolderBase.FolderImageType), BindingMode: System.Windows.Data.BindingMode.OneWay);
            }
            else
            {
                NodeImageType.ImageType = imageType;
            }

            NodeImageType.Width  = 16;
            NodeImageType.Height = 16;
            stack.Children.Add(NodeImageType);

            // Add Item header text
            Label itemHeaderLabel = new Label();

            itemHeaderLabel.BindControl(repoItemFolder, "DisplayName");
            stack.Children.Add(itemHeaderLabel);


            return(stack);
        }
        private void TriggerSourceControlIconChanged(List <SourceControlFileInfo> selectedFiles)
        {
            parentFolders = new List <string>();
            foreach (SourceControlFileInfo fi in selectedFiles)
            {
                FileAttributes attr;
                if (fi.Status != SourceControlFileInfo.eRepositoryItemStatus.Deleted)
                {
                    attr = File.GetAttributes(fi.Path);

                    if ((attr & FileAttributes.Directory) == FileAttributes.Directory)
                    {
                        RepositoryFolderBase repoFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryFolderByPath(fi.Path);
                        if (repoFolder != null)
                        {
                            repoFolder.RefreshFolderAndChildElementsSourceControlStatus();
                        }

                        AddToParentFoldersToRefresh(Directory.GetParent(fi.Path).FullName);
                    }
                    else
                    {
                        RepositoryItemBase repoItem = WorkSpace.Instance.SolutionRepository.GetRepositoryItemByPath(fi.Path);
                        if (repoItem != null)
                        {
                            repoItem.RefreshSourceControlStatus();
                        }

                        AddToParentFoldersToRefresh(Path.GetDirectoryName(fi.Path));
                    }
                }
                else
                {
                    AddToParentFoldersToRefresh(Directory.GetParent(fi.Path).FullName);
                }
            }
            //refresh parent folders
            foreach (string folder in parentFolders)
            {
                WorkSpace.Instance.SolutionRepository.RefreshParentFoldersSoucerControlStatus(folder);
            }
        }
        private void ImportAPIModels(ObservableList <ApplicationAPIModel> SelectedAAMList)
        {
            foreach (ApplicationAPIModel apiModel in SelectedAAMList)
            {
                Dictionary <System.Tuple <string, string>, List <string> > OptionalValuesPerParameterDict = new Dictionary <Tuple <string, string>, List <string> >();

                ImportOptionalValuesForParameters ImportOptionalValues = new ImportOptionalValuesForParameters();
                ImportOptionalValues.GetAllOptionalValuesFromExamplesFiles(apiModel, OptionalValuesPerParameterDict);
                ImportOptionalValues.PopulateOptionalValuesForAPIParameters(apiModel, OptionalValuesPerParameterDict);

                if (string.IsNullOrEmpty(apiModel.ContainingFolder))
                {
                    apiModel.ContainingFolder = APIModelFolder.FolderFullPath;
                }

                if (apiModel.TargetApplicationKey == null && TargetApplicationKey != null)
                {
                    apiModel.TargetApplicationKey = TargetApplicationKey;
                }

                if (apiModel.TagsKeys != null && TagsKeys != null)
                {
                    foreach (RepositoryItemKey tagKey in TagsKeys)
                    {
                        apiModel.TagsKeys.Add(tagKey);
                    }
                }

                if (APIModelFolder.FolderFullPath == apiModel.ContainingFolder)
                {
                    APIModelFolder.AddRepositoryItem(apiModel);
                }
                else
                {
                    RepositoryFolderBase rfFolderBase = amdocs.ginger.GingerCoreNET.WorkSpace.Instance.SolutionRepository.GetRepositoryFolderByPath(apiModel.ContainingFolder);
                    rfFolderBase.AddRepositoryItem(apiModel);
                }
            }
        }
        public static bool ResolveConflicts(SourceControlBase SourceControl, string path, eResolveConflictsSide side)
        {
            string error = string.Empty;
            bool   IsConflictResolved = true;

            try
            {
                if (path == null)
                {
                    return(false);
                }
                RepositoryFolderBase repositoryFolderBase = null;
                if (path != SourceControl.SolutionFolder)
                {
                    repositoryFolderBase = WorkSpace.Instance.SolutionRepository.GetRepositoryFolderByPath(Path.GetDirectoryName(path));
                    repositoryFolderBase.PauseFileWatcher();
                }

                if (!SourceControl.ResolveConflicts(path, side, ref error))
                {
                    IsConflictResolved = false;
                    Reporter.ToUser(eUserMsgKey.GeneralErrorOccured, error);
                    return(IsConflictResolved);
                }
                if (repositoryFolderBase != null)
                {
                    repositoryFolderBase.ResumeFileWatcher();
                    repositoryFolderBase.ReloadUpdatedXML(path);
                }

                return(IsConflictResolved);
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eLogLevel.ERROR, "Error occured during resolving conflicts..", ex);
                return(false);
            }
        }
示例#16
0
        public override ITreeViewItem AddSubFolder(Type typeOfFolder, string newFolderName, string newFolderPath)
        {
            try
            {
                object folderItem;
                RepositoryFolderBase repoFolder = (RepositoryFolderBase)(((ITreeViewItem)this).NodeObject());
                object newFolder = repoFolder.AddSubFolder(newFolderName);


                //FIXME not good approuch
                try
                {
                    folderItem = Activator.CreateInstance(this.GetType(), newFolder);
                }
                catch (Exception ex)
                {
                    folderItem = Activator.CreateInstance(this.GetType(),
                                                          BindingFlags.CreateInstance |
                                                          BindingFlags.Public |
                                                          BindingFlags.Instance |
                                                          BindingFlags.OptionalParamBinding, null, new object[] { repoFolder }, CultureInfo.CurrentCulture);
                    Reporter.ToLog(eLogLevel.ERROR, $"Method - {MethodBase.GetCurrentMethod().Name}, Error - {ex.Message}");
                }
                if (folderItem == null)
                {
                    return(null);
                }

                return((ITreeViewItem)folderItem);
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eLogLevel.ERROR, $"Method - {MethodBase.GetCurrentMethod().Name}, Error - {ex.Message}");
                return(null);
            }
        }
示例#17
0
        public static void DeleteExistingItem(ApplicationAPIModel existingAPI)
        {
            RepositoryFolderBase repItemFolderBase = WorkSpace.Instance.SolutionRepository.GetRepositoryFolderByPath(existingAPI.ContainingFolderFullPath);

            repItemFolderBase.DeleteRepositoryItem(existingAPI);
        }
示例#18
0
 public override ITreeViewItem GetFolderTreeItem(RepositoryFolderBase folder)
 {
     return(null);
 }
示例#19
0
 public override ITreeViewItem GetFolderTreeItem(RepositoryFolderBase folder)
 {
     return(new ApplicationPOMsTreeItem((RepositoryFolder <ApplicationPOMModel>)folder));
 }
        void AddRepositoryItem(GlobalSolutionItem itemToImport, RepositoryItemBase repoItemToImport, string targetFile)
        {
            //Get subdirectory path
            string path = Path.GetDirectoryName(targetFile);
            RepositoryFolderBase repoFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryFolderByPath(path);

            if (repoFolder != null)
            {
                repoFolder.AddRepositoryItem(repoItemToImport);
                return;
            }

            string folderPath = string.Empty;
            RepositoryFolderBase rootFolder = null;
            RepositoryFolderBase subFolder  = null;

            switch (itemToImport.ItemType)
            {
            case GlobalSolution.eImportItemType.Environments:
                rootFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ProjEnvironment>();
                break;

            case GlobalSolution.eImportItemType.DataSources:
                rootFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <DataSourceBase>();
                break;

            case GlobalSolution.eImportItemType.BusinessFlows:
                rootFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <BusinessFlow>();
                break;

            case GlobalSolution.eImportItemType.SharedRepositoryActivities:
                rootFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <Activity>();
                break;

            case GlobalSolution.eImportItemType.SharedRepositoryActivitiesGroup:
                rootFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ActivitiesGroup>();
                break;

            case GlobalSolution.eImportItemType.SharedRepositoryActions:
                rootFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <Act>();
                break;

            case GlobalSolution.eImportItemType.SharedRepositoryVariables:
                rootFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <VariableBase>();
                break;

            case GlobalSolution.eImportItemType.APIModels:
                rootFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>();
                break;

            case GlobalSolution.eImportItemType.POMModels:
                rootFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationPOMModel>();
                break;

            case GlobalSolution.eImportItemType.Agents:
                rootFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <Agent>();
                break;

            default:
                break;
            }

            folderPath = path.Replace(rootFolder.FolderFullPath + "\\", "");
            subFolder  = rootFolder.AddSubFolder(folderPath);
            subFolder.FolderRelativePath = rootFolder.FolderRelativePath + "\\" + folderPath;
            subFolder.AddRepositoryItem(repoItemToImport);
        }
 public override ITreeViewItem GetFolderTreeItem(RepositoryFolderBase folder)
 {
     return new AppApiModelsFolderTreeItem((RepositoryFolder<ApplicationAPIModel>)folder);
 }
示例#22
0
 public virtual ITreeViewItem GetFolderTreeItem(RepositoryFolderBase folder)
 {
     throw new NotImplementedException();
 }
示例#23
0
 protected eImageType GetSourceControlImage(RepositoryFolderBase repositoryFolderBase)
 {
     return(GetSourceControlImageByPath(repositoryFolderBase.FolderFullPath));
 }
 public override ITreeViewItem GetFolderTreeItem(RepositoryFolderBase folder)
 {
     return(new HTMLGingerReportsTreeItem((RepositoryFolder <HTMLReportConfiguration>)folder));
 }