public Package GetPackage(Data.Guid packageGuid) { PackageDao dao = new PackageDao(); return dao.FindByPackageGuid(packageGuid); }
public IList<Package> GetPurchasedPackages(UserInfo user) { IList<Package> packages = new List<Package>(); UserPackageDao dao = new UserPackageDao(); PackageDao packageDao = new PackageDao(); IList<UserPackage> ups = dao.FindByUserAndPackage(user.Guid); foreach (UserPackage up in ups) { Package package = packageDao.FindByPackageGuid(up.PackageGuid); if (package != null) packages.Add(package); } return packages; }
public void DeployDemoPackage(Data.Guid packageGuid, IPackageStatusNotifier notifier) { DoNotify(notifier, "Deploying Demo Package"); PackageDao dao = new PackageDao(); Package package = dao.FindByPackageGuid(packageGuid); if (package != null) { //Get the owner's subscription for this package CmsSubscription owner = SubscriptionManager.GetSubscription(package.OwnerSubscriptionId); DoNotify(notifier, "Creating Demo Account"); //Check if our demo account exists MembershipUserWrapper wrapper = MembershipUtil.FindByUsername(MembershipUtil.DemoAccountUsername); if (!wrapper.IsValid()) wrapper = MembershipUtil.CreateDemoAccount(); //Find a free subdomain name String subdomain = "demo-" + owner.Subdomain; Boolean isAvailable = SubscriptionManager.IsSubdomainAvailable(subdomain); int i = 1; while (!isAvailable) { i++; subdomain = "demo" + i.ToString() + "-" + owner.Subdomain; isAvailable = SubscriptionManager.IsSubdomainAvailable(subdomain); } //Create a new subscription for the demo account CmsSubscription subscription = new CmsSubscription(); subscription.Guid = package.Guid; subscription.Created = UtcDateTime.Now; subscription.Subdomain = subdomain; subscription.StagingDomain = subscription.Subdomain + GooeyConfigManager.DefaultCmsDomain; subscription.SubscriptionPlan = SubscriptionManager.GetSubscriptionPlan(SubscriptionPlans.Demo); subscription.PrimaryUser= wrapper.UserInfo; subscription.IsDemo = true; subscription.IsCampaignEnabled = true; subscription.Expires = DateTime.MaxValue; subscription.Culture = GooeyConfigManager.DefaultCulture; SubscriptionManager.Create(wrapper, subscription); DoNotify(notifier, "Reading Package From Archive"); //Deploy the package into the demo site IStorageClient client = StorageHelper.GetStorageClient(); byte [] zipped = client.Open(PackageContainer, PackageDirectory, package.Guid + PackageExtension); Compression.ZipHandler zip = new Compression.ZipHandler(zipped); byte [] serialized = zip.Decompress()[0].Data; SitePackage sitepackage = Serializer.ToObject<SitePackage>(serialized); Data.Guid guid = Data.Guid.New(subscription.Guid); DoNotify(notifier, "Deploying Package Themes To Site"); DeployThemes(sitepackage, guid, notifier); DoNotify(notifier, "Deploying Package Pages To Site"); DeployPages(sitepackage, guid, notifier); DoNotify(notifier, "Deploying Package Content Types To Site"); DeployContentTypes(sitepackage, guid); DoNotify(notifier, "Deploying Package Content To Site"); DeployContent(sitepackage, guid); } }