using System; using InABox.Configuration; using InABox.Core; namespace PRSServer.Forms.DatabaseLicense { public class CreditCardDetails : BaseObject { [TextBoxEditor] [EditorSequence(1)] public string CardNumber { get; set; } [ComboLookupEditor(typeof(CreditCardMonthGenerator))] [EditorSequence(2)] public string Month { get; set; } private class CreditCardMonthGenerator : LookupGenerator { public CreditCardMonthGenerator(object[] items) : base(items) { AddValue("01", "January"); AddValue("02", "February"); AddValue("03", "March"); AddValue("04", "April"); AddValue("05", "May"); AddValue("06", "June"); AddValue("07", "July"); AddValue("08", "August"); AddValue("09", "September"); AddValue("10", "October"); AddValue("11", "November"); AddValue("12", "December"); } } [ComboLookupEditor(typeof(CreditCardYearGenerator))] [EditorSequence(3)] public string Year { get; set; } private class CreditCardYearGenerator : LookupGenerator { public CreditCardYearGenerator(object[] items) : base(items) { for (var i = 0; i < 10; i++) { var year = DateTime.Today.Year + i; AddValue(year.ToString(), year.ToString()); } } } [PasswordEditor] [EditorSequence(4)] public string Cvv { get; set; } [DoubleEditor(Editable = Editable.Disabled)] [EditorSequence(5)] public double Amount { get; set; } [CheckBoxEditor] [EditorSequence(6)] public bool SaveDetails { get; set; } } public class CreditCardSettings : BaseObject, ILocalConfigurationSettings { public string CardNumber { get; set; } = ""; public string Month { get; set; } = ""; public string Year { get; set; } = ""; public string Cvv { get; set; } = ""; } }