Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }