TableauServerUrls.Url_CreateProject C# (CSharp) Method

Url_CreateProject() public method

URL for creating a project
public Url_CreateProject ( TableauServerSignIn, session ) : string
session TableauServerSignIn,
return string
    public string Url_CreateProject(TableauServerSignIn session)
    {
        string workingText = _urlCreateProjectTemplate;
        workingText = workingText.Replace("{{iwsSiteId}}", session.SiteId);
        ValidateTemplateReplaceComplete(workingText);

        return workingText;
    }

Usage Example

        private SiteProject _CreateProject(string projectName, string projectDescription)
        {
            //ref: http://onlinehelp.tableau.com/current/api/rest_api/en-us/help.htm#REST/rest_api_ref.htm#Create_Project%3FTocPath%3DAPI%2520Reference%7C_____12
            var sb          = new StringBuilder();
            var xmlSettings = new XmlWriterSettings();

            xmlSettings.OmitXmlDeclaration = true;
            var xmlWriter = XmlWriter.Create(sb, xmlSettings);

            xmlWriter.WriteStartElement("tsRequest");
            xmlWriter.WriteStartElement("project");
            xmlWriter.WriteAttributeString("name", projectName);
            xmlWriter.WriteAttributeString("description", projectDescription);
            xmlWriter.WriteEndElement(); //</project>
            xmlWriter.WriteEndElement(); // </tsRequest>
            xmlWriter.Close();

            var xmlText = sb.ToString(); //Get the XML text out

            //Generate the MIME message
            //var mimeGenerator = new OnlineMimeXmlPayload(xmlText);

            //Create a web request
            var urlCreateProject = _onlineUrls.Url_CreateProject(OnlineSession);
            var webRequest       = CreateLoggedInWebRequest(urlCreateProject, "POST");

            SendRequestContents(webRequest, xmlText);

            //Get the response
            var response = GetWebResponseLogErrors(webRequest, "create project");

            using (response)
            {
                var xmlDoc = GetWebResponseAsXml(response);


                //Get all the workbook nodes
                var nsManager    = XmlHelper.CreateTableauXmlNamespaceManager("iwsOnline");
                var xNodeProject = xmlDoc.SelectSingleNode("//iwsOnline:project", nsManager);

                try
                {
                    return(new SiteProject(xNodeProject));
                }
                catch (Exception parseXml)
                {
                    StatusLog.AddError("Data source upload, error parsing XML resposne " + parseXml.Message + "\r\n" + xNodeProject.InnerXml);
                    return(null);
                }
            }
        }