/// <exclude />
        public override IEnumerable<XElement> Install()
        {
            if(_licenseFileExists)
            {
                return new XElement[0];
            }

            LicenseDefinitionDescriptor descriptor = LicenseServerFacade.GetTrialLicenseDefinition(InstallationInformationFacade.InstallationId, this.InstallerContext.PackageInformation.Id, _publicKeyXml);

            var definition = new PackageLicenseDefinition
            {
                ProductName = this.InstallerContext.PackageInformation.Name,
                InstallationId = descriptor.InstallationId,
                ProductId = descriptor.ProductId,                
                LicenseFileName = "",
                Permanent = descriptor.Permanent,                                
                Expires = descriptor.Expires,
                LicenseKey = descriptor.LicenseKey,
                PurchaseUrl = descriptor.PurchaseUrl
            };

            LicenseDefinitionManager.StoreLicenseDefinition(definition);

            return new XElement[] { };
        }
        /// <exclude />
        public override IEnumerable <XElement> Install()
        {
            if (_licenseFileExists)
            {
                return(new XElement[0]);
            }

            LicenseDefinitionDescriptor descriptor = LicenseServerFacade.GetTrialLicenseDefinition(InstallationInformationFacade.InstallationId, this.InstallerContext.PackageInformation.Id, _publicKeyXml);

            var definition = new PackageLicenseDefinition
            {
                ProductName     = this.InstallerContext.PackageInformation.Name,
                InstallationId  = descriptor.InstallationId,
                ProductId       = descriptor.ProductId,
                LicenseFileName = "",
                Permanent       = descriptor.Permanent,
                Expires         = descriptor.Expires,
                LicenseKey      = descriptor.LicenseKey,
                PurchaseUrl     = descriptor.PurchaseUrl
            };

            LicenseDefinitionManager.StoreLicenseDefinition(definition);

            return(new XElement[] { });
        }
Example #3
0
        /// <exclude />
        public override void Uninstall()
        {
            PackageLicenseDefinition licenseDefinition = LicenseDefinitionManager.GetLicenseDefinition(this.UninstallerContext.PackageInformation.Id);

            if ((licenseDefinition != null) && (licenseDefinition.Permanent == false))
            {
                LicenseDefinitionManager.RemoveLicenseDefintion(this.UninstallerContext.PackageInformation.Id);
            }
        }
        private ResourceHandle GetIconForPackageItem(Guid packageId)
        {
            ResourceHandle           icon       = InstalledPackageItemIcon;
            PackageLicenseDefinition licenseDef = PackageLicenseHelper.GetLicenseDefinition(packageId);

            if (licenseDef != null && !licenseDef.Permanent)
            {
                icon = InstalledCommercialPackageItemIcon;
            }
            return(icon);
        }
        private void viewStateCodeActivity_Initialize_ExecuteCode(object sender, EventArgs e)
        {
            var castedToken = (PackageElementProviderInstalledPackageItemEntityToken)this.EntityToken;

            if (!this.BindingExist("InstalledPackageInformation"))
            {
                InstalledPackageInformation installedAddOnInformation =
                    (from info in PackageManager.GetInstalledPackages()
                     where info.Id == castedToken.PackageId
                     select info).Single();

                string name          = installedAddOnInformation.Name;
                string documentTitle = (name.Contains('.') && !name.EndsWith(".") ?
                                        string.Format("{0} ({1})", name.Substring(name.LastIndexOf('.') + 1), name.Substring(0, name.LastIndexOf('.'))) :
                                        name);

                this.Bindings.Add("DocumentTitle", documentTitle);
                this.Bindings.Add("InstalledPackageInformation", installedAddOnInformation);
                this.Bindings.Add("InstallDate", installedAddOnInformation.InstallDate.ToLocalTime().ToString());

                PackageLicenseDefinition licenseInfo = PackageLicenseHelper.GetLicenseDefinition(installedAddOnInformation.Id);
                bool isTrial = (licenseInfo != null && !licenseInfo.Permanent);
                this.Bindings.Add("IsTrial", isTrial);

                this.Bindings.Add("ShowPurchaseThisButton", isTrial && !string.IsNullOrWhiteSpace(licenseInfo.PurchaseUrl));

                PackageDescription packageDescription = null;
                try
                {
                    Guid packageId = new Guid(castedToken.Id);

                    var allPackages = PackageServerFacade.GetAllPackageDescriptions(InstallationInformationFacade.InstallationId,
                                                                                    UserSettings.CultureInfo);

                    packageDescription = allPackages.FirstOrDefault(p => p.Id == packageId);
                }
                catch
                {
                }

                if (packageDescription != null && !string.IsNullOrEmpty(packageDescription.ReadMoreUrl))
                {
                    this.Bindings.Add("ReadMoreUrl", packageDescription.ReadMoreUrl);
                }

                if (isTrial)
                {
                    this.Bindings.Add("TrialExpire", licenseInfo.Expires.ToLocalTime().ToString());
                    if (!string.IsNullOrWhiteSpace(licenseInfo.PurchaseUrl))
                    {
                        //string url = string.Format("{0}{1}installationId={2}", licenseInfo.PurchaseUrl, (licenseInfo.PurchaseUrl.Contains('?') ? "&" : "?"), Composite.Core.Configuration.InstallationInformationFacade.InstallationId);
                        string url = licenseInfo.PurchaseUrl;
                        this.Bindings.Add("TrialPurchaseUrl", url);
                    }
                }
            }

            if (castedToken.CanBeUninstalled)
            {
                this.SetCustomToolbarDefinition(new FormDefinitionFileMarkupProvider(@"\Administrative\PackageElementProviderViewInstalledPackageInformationToolbar.xml"));
            }
        }
 /// <summary>
 /// <see cref="Composite.Core.PackageSystem.PackageLicenseHelper"/>
 /// </summary>
 /// <param name="licenseDefinition"></param>
 public virtual void StoreLicenseDefinition(PackageLicenseDefinition licenseDefinition)
 {
     LicenseDefinitionManager.StoreLicenseDefinition(licenseDefinition);
 }