public ResourceCatalogResult RenameResource(Guid workspaceID, Guid?resourceID, string newName, string resourcePath) { GlobalConstants.HandleEmptyParameters(resourceID, "resourceID"); GlobalConstants.HandleEmptyParameters(newName, "newName"); var resourcesToUpdate = _resourceCatalog.GetResources(workspaceID).Where(resource => resource.ResourceID == resourceID).ToArray(); try { if (!resourcesToUpdate.Any()) { return(ResourceCatalogResultBuilder.CreateFailResult($"{ErrorResource.FailedToFindResource} '{resourceID}' to '{newName}'")); } _versionRepository.StoreVersion(_resourceCatalog.GetResource(Guid.Empty, resourceID.Value), "unknown", "Rename", workspaceID, resourcePath); //rename and save to workspace var renameResult = UpdateResourceName(workspaceID, resourcesToUpdate[0], newName, resourcePath); if (renameResult.Status != ExecStatus.Success) { return(ResourceCatalogResultBuilder.CreateFailResult($"{ErrorResource.FailedToRenameResource} '{resourceID}' to '{newName}'")); } } catch (Exception err) { Dev2Logger.Error(err, GlobalConstants.WarewolfError); return(ResourceCatalogResultBuilder.CreateFailResult($"{ErrorResource.FailedToRenameResource} '{resourceID}' to '{newName}'")); } return(ResourceCatalogResultBuilder.CreateSuccessResult($"Renamed Resource \'{resourceID}\' to \'{newName}\'")); }
public ResourceCatalogResult RenameCategory(Guid workspaceID, string oldCategory, string newCategory) { GlobalConstants.HandleEmptyParameters(oldCategory, "oldCategory"); GlobalConstants.HandleEmptyParameters(newCategory, "newCategory"); try { var resourcesToUpdate = _resourceCatalog.GetResources(workspaceID).Where(resource => resource.GetResourcePath(workspaceID).StartsWith(oldCategory + "\\", StringComparison.OrdinalIgnoreCase)).ToList(); return(RenameCategory(workspaceID, oldCategory, newCategory, resourcesToUpdate)); } catch (Exception err) { Dev2Logger.Error("Rename Category error", err, GlobalConstants.WarewolfError); return(ResourceCatalogResultBuilder.CreateFailResult($"<CompilerMessage>Failed to Category from \'{oldCategory}\' to \'{newCategory}\'</CompilerMessage>")); } }