Beispiel #1
0
        public Site Create(Site parentSite, string siteName, Stream packageStream, CreateSiteSetting siteSetting)
        {
            var site = inner.Create(parentSite, siteName, packageStream, siteSetting);

            CacheManagerFactory.DefaultCacheManager.ClearGlobalObjectCache();
            return(site);
        }
Beispiel #2
0
        /// <summary>
        /// 1. Extract the site files.
        /// 2. Create and initialize the repository if the repository doest not exsits.
        /// </summary>
        /// <param name="parentSite"></param>
        /// <param name="siteName"></param>
        /// <param name="packageStream"></param>
        /// <returns></returns>
        public Site Create(Site parentSite, string siteName, System.IO.Stream packageStream, CreateSiteSetting createSitSetting)
        {
            Site site = new Site(parentSite, siteName);

            if (site.Exists())
            {
                throw new KoobooException("The site already exists.");
            }
            using (ZipFile zipFile = ZipFile.Read(packageStream))
            {
                var action = ExtractExistingFileAction.OverwriteSilently;
                zipFile.ExtractAll(site.PhysicalPath, action);

                if (parentSite == null)
                {
                    baseDir.UpdateFileLink(site.PhysicalPath, siteName, createSitSetting.Repository);
                }

                site = CreateSiteRepository(site, createSitSetting.Repository);
                CreateMembership(site, createSitSetting.Membership);
            }
            return(site);
        }