public void CreateSiteCollectionOnPremises(Contract.SharePointProvisioningData sharePointProvisioningData) { //On-Prem settings string generalOnPremUserName = GetConfiguration("General.OnPremUserName"); string generalOnPremUserPassword = EncryptionUtility.Decrypt(GetConfiguration("General.OnPremUserPassword"), GetConfiguration("General.EncryptionThumbPrint")); string generalOnPremUserDomain = GetConfiguration("General.OnPremUserDomain"); string generalOnPremWebApplication = GetConfiguration("General.OnPremWebApplication"); SiteManager.SiteData siteData = new SiteManager.SiteData(); siteData.Url = sharePointProvisioningData.Url.Substring(sharePointProvisioningData.Url.IndexOf("/sites")); siteData.Title = sharePointProvisioningData.Title; siteData.LcId = sharePointProvisioningData.Lcid.ToString(); siteData.OwnerLogin = GetOwnerLogin(sharePointProvisioningData, generalOnPremUserDomain); siteData.SecondaryContactLogin = string.Format(@"{0}\{1}", generalOnPremUserDomain, generalOnPremUserName); siteData.WebTemplate = sharePointProvisioningData.Template; using (SiteManager.SiteManagerClient siteManager = GetSiteManagerClient(generalOnPremWebApplication, generalOnPremUserName, generalOnPremUserPassword, generalOnPremUserDomain)) { siteManager.CreateSiteCollection(siteData); } }
public string GetNextSiteCollectionUrl(ClientContext cc, Web web, string siteDirectoryUrl, string siteDirectoryListName, string baseSiteUrl) { int lastNumber = GetLastSiteCollectionNumber(cc, web, siteDirectoryUrl, siteDirectoryListName); lastNumber++; string nextSiteName = DateTime.Now.ToString("yyyy") + String.Format("{0:0000}", lastNumber); string nextUrl = String.Format("{0}/sites/{1}", baseSiteUrl, nextSiteName); string generalOnPremUserName = GetConfiguration("General.OnPremUserName"); string generalOnPremUserPassword = EncryptionUtility.Decrypt(GetConfiguration("General.OnPremUserPassword"), GetConfiguration("General.EncryptionThumbPrint")); string generalOnPremUserDomain = GetConfiguration("General.OnPremUserDomain"); string generalOnPremWebApplication = GetConfiguration("General.OnPremWebApplication"); SiteManager.SiteData[] onPremSiteCollectionList = null; using (SiteManager.SiteManagerClient siteManager = GetSiteManagerClient(generalOnPremWebApplication, generalOnPremUserName, generalOnPremUserPassword, generalOnPremUserDomain)) { onPremSiteCollectionList = siteManager.ListSiteCollections(); } bool validUrl = false; while (!validUrl) { if (!IsSiteExisted(nextUrl, onPremSiteCollectionList)) { validUrl = true; } else { Thread.Sleep(500); lastNumber++; nextSiteName = DateTime.Now.ToString("yyyy") + String.Format("{0:0000}", lastNumber); nextUrl = String.Format("{0}/sites/{1}", baseSiteUrl, nextSiteName); } } return(nextUrl); }