public async Task<ActionResult> Index() { var availableSiteTemplates = await _siteTemplateService.Read(); var model = new SiteCollectionTemplateCreationModel() {SiteCreationTemplates = availableSiteTemplates}; model.TimeZoneId = 1; model.Lcid= 1033; model.StorageMaximumLevel = 10; return View(model); }
public ActionResult CreateSiteCollection(SiteCollectionTemplateCreationModel siteCollectionTemplateCreationModel) { User spUser = null; Site spSite = null; var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext); using (var clientContext = spContext.CreateUserClientContextForSPHost()) { if (clientContext != null) { spUser = clientContext.Web.CurrentUser; clientContext.Load(spUser, user => user.Email); clientContext.ExecuteQuery(); spSite = clientContext.Site; clientContext.Load(spSite, site => site.Url); clientContext.ExecuteQuery(); } } var siteCollectionRequest = new SiteCollectionRequest { Lcid = siteCollectionTemplateCreationModel.Lcid, ManagedPath = siteCollectionTemplateCreationModel.ManagedPath, ProvisioningType = siteCollectionTemplateCreationModel.ProvisioningType, StorageMaximumLevel = siteCollectionTemplateCreationModel.StorageMaximumLevel, TemplateId = siteCollectionTemplateCreationModel.TemplateId, TimeZoneId = siteCollectionTemplateCreationModel.TimeZoneId, }; var request = new ActionRequest { Name = siteCollectionTemplateCreationModel.Name, Description = siteCollectionTemplateCreationModel.Description, SiteTemplateName = siteCollectionTemplateCreationModel.SelectedSiteCreationTemplate, User = spUser.Email, Url = spSite.Url, SiteCollectionRequest = siteCollectionRequest, TenantName = new Uri(spSite.Url).Host.Split('.')[0] }; request.IsSiteCollection = true; _createRequestService.PutCreateRequestInQueue(request); _logService.SendLog(request, State.Queued); return RedirectToAction("Queue", "Log", new { SPHostUrl = Request.QueryString["SPHostUrl"] }); }