diff --git a/server/biz/LicenseBiz.cs b/server/biz/LicenseBiz.cs index 2272095..413df67 100644 --- a/server/biz/LicenseBiz.cs +++ b/server/biz/LicenseBiz.cs @@ -400,37 +400,29 @@ namespace Sockeye.Biz */ string keyNoWS = System.Text.RegularExpressions.Regex.Replace(StringUtil.Extract(l.Key, "[KEY", "KEY]").Trim(), "(\"(?:[^\"\\\\]|\\\\.)*\")|\\s+", "$1"); var jKey = JObject.Parse(keyNoWS); - - - - var jaFeatures = (JArray)jKey.SelectToken("Key.Features"); + var jaFeatures = (JArray)jKey.SelectToken("Key.Features"); for (int x = 0; x < jaFeatures.Count; x++) { var jFeature = (JObject)jaFeatures[x]; var feature = jFeature["Name"].Value(); - int count=0; - if(feature!="TrialMode") - count = jFeature["Count"].Value(); + int count = 0; + + if (feature != "TrialMode") + count = jFeature["Count"].Value(); + else + l.TrialMode = true; + + if (feature == "ActiveInternalUsers") + l.Users = count; + + if (feature == "ActiveCustomerUsers") + l.CustomerUsers = count; + + if (feature == "MaximumDataGB") + l.MaxDataGB = count; + } - - - - l.Users = jKey["AyaNovaLicenseKey"]["TotalScheduleableUsers"].Value(); - - - - - - - l.DbId = jKey["Key"]["DBID"].Value(); - l.LicenseExpire = jKey["Key"]["LicenseExpiration"].Value().ToUniversalTime(); - //if (jKey["Key"]["Perpetual"].Value()) - if ((bool?)jKey["Key"]["Perpetual"] ?? true) - l.PGroup = ProductGroup.RavenPerpetual; - else - l.PGroup = ProductGroup.RavenSubscription; - l.MaintenanceExpire = jKey["Key"]["MaintenanceExpiration"].Value().ToUniversalTime(); } return l; diff --git a/server/models/License.cs b/server/models/License.cs index a2bc77c..9de1836 100644 --- a/server/models/License.cs +++ b/server/models/License.cs @@ -34,11 +34,11 @@ namespace Sockeye.Models //v8 dto props [NotMapped] - public int CustomerUsers { get; set; }//v8 + public int? CustomerUsers { get; set; }//v8 - subscription only [NotMapped] - public int MaxDataGB { get; set; }//v8 + public int? MaxDataGB { get; set; }//v8 - subscription only [NotMapped] - public bool TrialMode { get; set; }//v8 + public bool TrialMode { get; set; } = false;//v8 //shared dto props [NotMapped] public int Users { get; set; }//v7 scheduled users, v8 internal users