ReportTemplate.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System;
  2. using InABox.Core;
  3. namespace InABox.Core.Reports
  4. {
  5. [UserTracking(false)]
  6. public class ReportTemplate : Entity, IPersistent, IRemotable, ILicense<CoreLicense>
  7. {
  8. [TextBoxEditor]
  9. [EditorSequence(1)]
  10. public string Name { get; set; }
  11. [ComboLookupEditor(typeof(PrinterLookups), Visible = Core.Visible.Hidden, Editable = Editable.Hidden)]
  12. [EditorSequence(2)]
  13. public string PrinterName { get; set; }
  14. [NullEditor]
  15. public string RDL { get; set; }
  16. [CheckBoxEditor]
  17. [EditorSequence(3)]
  18. public bool Visible { get; set; } = true;
  19. [CheckBoxEditor]
  20. [EditorSequence(4)]
  21. public bool AllRecords { get; set; } = false;
  22. [CheckBoxEditor]
  23. [EditorSequence(5)]
  24. public bool SelectedRecords { get; set; } = true;
  25. [NullEditor]
  26. public string Script { get; set; }
  27. [NullEditor]
  28. public string DataModel { get; set; }
  29. [NullEditor]
  30. public string Section { get; set; }
  31. [NullEditor]
  32. [Obsolete("All Reports are now Fast Reports-based")]
  33. public bool IsRDL { get; set; } = false;
  34. public static readonly string DefaultScriptTemplate = @"using System;
  35. using System.Linq;
  36. using System.Runtime;
  37. using InABox.Core;
  38. using Comal.Classes;
  39. public class Report
  40. {{
  41. public {0} Model {{ get; set; }}
  42. public IEnumerable<String> RequiredTables {{ get; set; }}
  43. public bool Init()
  44. {{
  45. return true;
  46. }}
  47. public bool Populate()
  48. {{
  49. return true;
  50. }}
  51. }}";
  52. private class PrinterLookups : LookupGenerator<object>
  53. {
  54. public PrinterLookups(object[] items) : base(items)
  55. {
  56. AddValue("", "No Printer Selected");
  57. foreach (var printer in ReportPrinters.All)
  58. AddValue(printer, printer);
  59. }
  60. }
  61. }
  62. }