Esempio n. 1
0
        public virtual Repository Create(string repositoryName, Stream packageStream)
        {
            Repository     repository = new Repository(repositoryName);
            RepositoryPath path       = new RepositoryPath(repository);

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

                baseDir.UpdateFileLink(path.PhysicalPath, null, repositoryName);
            }
            return(repository);
        }
Esempio n. 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, string repositoryName)
        {
            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, repositoryName);
                }

                site = CreateSiteRepository(site, repositoryName);
            }
            return(site);
        }