Ejemplo n.º 1
0
        public async Task <string> CreateTeamSiteNoGroupAsync(TeamSiteNoGroupRequest request)
        {
            var X509Cert = GetX509Certificate2();

            using var authmanager = new AuthenticationManager();
            using var context     = authmanager.GetAzureADAppOnlyAuthenticatedContext(
                      AppConfigurations.SpoUrlAdmin,
                      AppConfigurations.ClientID,
                      AppConfigurations.TenantID,
                      X509Cert);

            var teamNoGroupSiteCollection = new TeamNoGroupSiteCollectionCreationInformation
            {
                Url                 = $"{AppConfigurations.SpoUrl}/sites/{request.Alias}",
                Owner               = string.IsNullOrEmpty(request.Owner) ? AppConfigurations.SpoUserAdmin : request.Owner,
                Title               = request.Title,
                Lcid                = (uint)request.Language,
                Description         = request.Description,
                ShareByEmailEnabled = true
            };

            await SiteCollection.CreateAsync(context, teamNoGroupSiteCollection, noWait : true);

            return(teamNoGroupSiteCollection.Url);
        }
Ejemplo n.º 2
0
        public async Task <string> CreateSiteCollectionAsync(SiteCollectionRequest request)
        {
            var accessToken = await tokenManager.GetAccessTokenSPOAsync(spoSetting.SiteUrlAdmin);

            var accessTokenSecure = accessToken.ToSecureString();

            using var authManager = new AuthenticationManager(accessTokenSecure);
            using var context     = authManager.GetContext(spoSetting.SiteUrlAdmin);

            var site = new TeamNoGroupSiteCollectionCreationInformation
            {
                Owner = spoSetting.UserName,
                Title = request.Title,
                Url   = $"{spoSetting.SiteUrl.RemoveLastSlash()}/sites/{request.Alias}",
                Lcid  = 1033,
                ShareByEmailEnabled = true,
            };

            await SiteCollection.CreateAsync(context, site, noWait : true);

            return(site.Url);
        }
Ejemplo n.º 3
0
        public async Task <string> CreateCommunicationSiteAsync(CommunicationSiteRequest request)
        {
            using var context = new ClientContext(AppConfigurations.SpoUrlAdmin)
                  {
                      Credentials = new SharePointOnlineCredentials(
                          AppConfigurations.SpoUserAdmin,
                          AppConfigurations.PasswordSecure)
                  };

            var communicationSite = new CommunicationSiteCollectionCreationInformation
            {
                Title               = request.Title,
                Url                 = $"{AppConfigurations.SpoUrl}/sites/{request.Alias}",
                Description         = request.Description,
                Lcid                = (uint)request.Language,
                ShareByEmailEnabled = true,
            };

            await SiteCollection.CreateAsync(context, communicationSite, noWait : true);

            return(communicationSite.Url);
        }
        /// <summary>
        /// BETA: Creates a Team Site Collection
        /// </summary>
        /// <param name="clientContext"></param>
        /// <param name="siteCollectionCreationInformation"></param>
        /// <returns></returns>
        public static async Task <ClientContext> CreateSiteAsync(this ClientContext clientContext, TeamSiteCollectionCreationInformation siteCollectionCreationInformation)
        {
            await new SynchronizationContextRemover();

            return(await SiteCollection.CreateAsync(clientContext, siteCollectionCreationInformation));
        }
Ejemplo n.º 5
0
 /// <summary>
 /// BETA: Creates a Team Site Collection
 /// </summary>
 /// <param name="clientContext"></param>
 /// <param name="siteCollectionCreationInformation"></param>
 /// <returns></returns>
 public static async Task <ClientContext> CreateSiteAsync(this ClientContext clientContext, TeamSiteCollectionCreationInformation siteCollectionCreationInformation)
 {
     return(await SiteCollection.CreateAsync(clientContext, siteCollectionCreationInformation));
 }