Smartsheet.Api.Internal.WorkspaceResourcesImpl.CopyWorkspace C# (CSharp) Method

CopyWorkspace() public method

Creates a copy of the specified Workspace.

It mirrors To the following Smartsheet REST API method:
POST /workspaces/{workspaceId}/copy

if any argument is null or empty string if there is any problem with the REST API request if there is any problem with the REST API authorization (access token) if the resource cannot be found if the REST API service is not available (possibly due To rate limiting) if there is any other error during the operation
public CopyWorkspace ( long workspaceId, ContainerDestination destination, IEnumerable include, IEnumerable skipRemap ) : Api.Models.Workspace
workspaceId long the workspace Id
destination Smartsheet.Api.Models.ContainerDestination the destination to copy to
include IEnumerable the elements to copy. Note: Cell history will not be copied, regardless of which include parameter values are specified.
skipRemap IEnumerable the references to NOT re-map for the newly created folder /// /// If "cellLinks" is specified in the skipRemap parameter value, the cell links within the newly created folder will continue to point to the original source sheets. /// If "reports" is specified in the skipRemap parameter value, the reports within the newly created folder will continue to point to the original source sheets. /// ///
return Api.Models.Workspace
        public virtual Workspace CopyWorkspace(long workspaceId, ContainerDestination destination, IEnumerable<WorkspaceCopyInclusion> include, IEnumerable<WorkspaceRemapExclusion> skipRemap)
        {
            IDictionary<string, string> parameters = new Dictionary<string, string>();
            if (include != null)
            {
                parameters.Add("include", QueryUtil.GenerateCommaSeparatedList(include));
            }
            if (skipRemap != null)
            {
                parameters.Add("skipRemap", QueryUtil.GenerateCommaSeparatedList(skipRemap));
            }
            return this.CreateResource<RequestResult<Workspace>, ContainerDestination>(QueryUtil.GenerateUrl("workspaces/" + workspaceId + "/copy", parameters), destination).Result;
        }