12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using System.Collections.Generic;
- using System.Linq;
- using Comal.Classes;
- using InABox.Core;
- using InABox.DynamicGrid;
- using netDxf.Collections;
- using Org.BouncyCastle.Asn1.X509.Qualified;
- using PRSServer;
- namespace PRSLicensing;
- public class LicenseTimeDiscount : BaseObject
- {
- [EditorSequence(1)]
- [IntegerEditor(Width = 0, Alignment = Alignment.MiddleCenter)]
- public int Months { get; set; }
-
- [EditorSequence(2)]
- [DoubleEditor(Alignment = Alignment.MiddleCenter)]
- public double Discount { get; set; }
- }
- public class LicenseUserDiscount : BaseObject
- {
- [EditorSequence(1)]
- [IntegerEditor(Width = 0, Alignment = Alignment.MiddleCenter)]
- public int Users { get; set; }
-
- [EditorSequence(2)]
- [DoubleEditor(Alignment = Alignment.MiddleCenter)]
- public double Discount { get; set; }
- }
- public class LicenseProductMapping : BaseObject
- {
- [ComboLookupEditor(typeof(LicenseSectionGenerator), Visible = Visible.Default, Editable = Editable.Enabled)]
- [EditorSequence(1)]
- public string License { get; set; }
- public class LicenseSectionGenerator : LookupGenerator<object>
- {
- public LicenseSectionGenerator(object[] items) : base(items)
- {
- var tokens = CoreUtils.TypeList(x =>x.IsSubclassOf(typeof(LicenseToken)))
- .OrderBy(x => x.EntityName().Split('.').Last())
- .ToArray();
- foreach (var token in tokens)
- AddValue(token.EntityName(), token.GetCaption());
- }
- }
- [EditorSequence(2)]
- public ProductLink Product { get; set; }
- }
- public class LicensingEngineProperties : ServerProperties
- {
-
- [IntegerEditor]
- [EditorSequence(1)]
- public int ListenPort { get; set; }
-
- [ComboLookupEditor(typeof(LicensingDatabaseServerLookupGenerator))]
- [EditorSequence(2)]
- public string? Server { get; set; }
-
- [ListEditor(ListWidth = 350, ListHeight = 600, DirectEdit = false)]
- [EditorSequence(4)]
- [Caption("Products")]
- public List<LicenseProductMapping> Mappings { get; set; } = new();
- [ListEditor(ListWidth = 250, ListHeight = 300, DirectEdit = false)]
- [EditorSequence(5)]
- public List<LicenseTimeDiscount> TimeDiscounts { get; set; } = new();
-
- [ListEditor(ListWidth = 250, ListHeight = 400, DirectEdit = false)]
- [EditorSequence(5)]
- public List<LicenseUserDiscount> UserDiscounts { get; set; } = new();
-
- [EditorSequence("Advanced", 1)]
- [FileNameEditor("Certificate Files (*.pfx)|*.pfx")]
- public string? CertificateFile { get; set; }
-
- public override ServerType Type()
- {
- return ServerType.Other;
- }
- }
|