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); }
/// <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); }