public static void AddLicenseLimitNotification(ServerStore serverStore, LicenseLimit licenseLimit) { var alert = AlertRaised.Create( "You've reached your license limit", licenseLimit.Message, AlertType.LicenseManager_LicenseLimit, NotificationSeverity.Warning, details: new LicenseLimitWarning(licenseLimit)); serverStore.NotificationCenter.Add(alert); }
protected void SetLicenseLimitResponse(LicenseLimit licenseLimit) { if (licenseLimit == null) { throw new ArgumentNullException(nameof(licenseLimit)); } HttpContext.Response.StatusCode = (int)HttpStatusCode.PaymentRequired; using (ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext context)) using (var writer = new BlittableJsonTextWriter(context, ResponseBodyStream())) { var blittable = EntityToBlittable.ConvertEntityToBlittable(licenseLimit, DocumentConventions.Default, context); context.Write(writer, blittable); writer.Flush(); } }
private void InitializeLimits() { var registeredLicenses = licenseService.LicenseInfos.Where(x => x.IsRegistered).ToArray(); // if any license is not trial if (registeredLicenses.Any(x => !x.IsTrial)) { registeredLicenses = registeredLicenses.Where(x => !x.IsTrial).ToArray(); } var gameTypes = registeredLicenses.SelectMany(x => ConvertLicenseType(x.LicenseType)).Distinct().ToArray(); Limit = new LicenseLimit { TournamentLimit = registeredLicenses.Length > 0 ? registeredLicenses.Max(x => x.TournamentLimit) : 0, CashLimit = registeredLicenses.Length > 0 ? registeredLicenses.Max(x => x.CashLimit) : 0, AllowedGameTypes = gameTypes }; }
private LicenseLimitWarning(LicenseLimit licenseLimit) { Type = licenseLimit.Type; Message = licenseLimit.Message; }