コード例 #1
0
ファイル: LicensingHelper.cs プロジェクト: radtek/Shopdrawing
        internal static LicenseState ProjectTypeLicense(ProjectLicenseGroup group, IServiceProvider services)
        {
            ILicenseService service = services.GetService <ILicenseService>();

            switch (group)
            {
            case ProjectLicenseGroup.WpfSilverlight:
            {
                IList <Guid> guids  = service.SkusFromFeature(ExpressionFeatureMapper.WpfFeature);
                IList <Guid> guids1 = service.SkusFromFeature(ExpressionFeatureMapper.SilverlightFeature);
                return(LicensingHelper.DetermineLicenseState(service, LicensingHelper.CombineLists(guids, guids1)));
            }

            case ProjectLicenseGroup.SilverlightMobile:
            {
                return(LicensingHelper.DetermineLicenseState(service, service.SkusFromFeature(ExpressionFeatureMapper.MobileFeature)));
            }

            case ProjectLicenseGroup.SketchFlow:
            {
                IList <Guid> list = service.SkusFromFeature(ExpressionFeatureMapper.HobbledSketchFlowFeature);
                list = list.Union <Guid>(service.SkusFromFeature(ExpressionFeatureMapper.SketchFlowFeature)).ToList <Guid>();
                return(LicensingHelper.DetermineLicenseState(service, list));
            }
            }
            return(LicenseState.FullLicense());
        }
コード例 #2
0
ファイル: LicensingHelper.cs プロジェクト: radtek/Shopdrawing
        private static LicenseState DetermineLicenseState(ILicenseService licenseService, IList <Guid> skus)
        {
            LicenseState licenseState;
            Guid         guid = licenseService.MostPermissiveLicenseSku(skus);
            bool         flag = licenseService.FeaturesFromSku(guid).Contains(ExpressionFeatureMapper.ActivationLicense);

            if (licenseService.IsLicensed(guid))
            {
                licenseState = LicenseState.FullLicense();
            }
            else if (!licenseService.IsInGrace(guid))
            {
                bool unlicensedReason = licenseService.GetUnlicensedReason(guid) == UnlicensedReason.GraceTimeExpired;
                bool flag1            = licenseService.HasKey(guid);
                licenseState = LicenseState.Expired((!flag || !unlicensedReason ? false : flag1));
            }
            else
            {
                licenseState = LicenseState.Trial(flag, licenseService.GetRemainingGraceMinutes(guid) / 1440);
            }
            return(licenseState);
        }