1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using InABox.Core;
- namespace Comal.Classes
- {
-
- // public class SpreadsheetTemplateAppliesToLookups : LookupGenerator<object>
- // {
- // public SpreadsheetTemplateAppliesToLookups(object[]? items) : base(items)
- // {
- // var lookups = new Dictionary<string, string>();
- //
- // var types = CoreUtils.TypeList(
- // AppDomain.CurrentDomain.GetAssemblies(),
- // x => !x.IsAbstract && x.GetInterfaces().Contains(typeof(ISpreadsheet))
- // ).ToArray();
- //
- // foreach (var type in types)
- // {
- // var iface = type.GetInterfaces().FirstOrDefault(x => x.GetInterfaces().Contains(typeof(ISpreadsheet)) && x.IsGenericType);
- // var etype = iface?.GenericTypeArguments.FirstOrDefault();
- // if (etype != null)
- // lookups[etype.EntityName().Split('.').Last()] = etype.GetCaption();
- // }
- //
- // foreach (var key in lookups.Keys)
- // AddValue(key, lookups[key]);
- // }
- // }
-
- public class SpreadsheetTemplate : Entity, IRemotable, IPersistent, ISpreadsheet, ILicense<CoreLicense>
- {
- [EditorSequence(1)]
- [UniqueCodeEditor(Visible=Visible.Default, Editable = Editable.Enabled)]
- public String Code { get; set; }
-
- [EditorSequence(2)]
- [TextBoxEditor(Visible=Visible.Default)]
- public String Description { get; set; }
-
- [EditorSequence(3)]
- //[ComboLookupEditor(typeof(SpreadsheetTemplateAppliesToLookups))]
- [NullEditor]
- public String AppliesTo { get; set; }
- [EditorSequence(4)]
- [CheckBoxEditor]
- public bool Active { get; set; }
- [NullEditor]
- public byte[] Data { get; set; }
- }
-
- public class SpreadsheetTemplateLookups : EntityLookup<SpreadsheetTemplate>
- {
- public override Filter<SpreadsheetTemplate>? DefineFilter()
- {
- return new Filter<SpreadsheetTemplate>(x => x.Active).IsEqualTo(true).And(x=>x.AppliesTo).IsEqualTo("");
- }
- public override SortOrder<SpreadsheetTemplate> DefineSortOrder()
- {
- return new SortOrder<SpreadsheetTemplate>(x => x.Code);
- }
- }
- }
|