using AyaNova.Biz; using System.ComponentModel.DataAnnotations; using Newtonsoft.Json; namespace AyaNova.Models { public class Report { public long Id { get; set; } public uint Concurrency { get; set; } [Required] public string Name { get; set; } public bool Active { get; set; } public string Notes { get; set; } public AuthorizationRoles Roles { get; set; } [Required] public AyaType AType { get; set; } public bool IncludeWoItemDescendants {get;set;} public string Template { get; set; } public string Style { get; set; } public string JsPrerender { get; set; } public string JsHelpers { get; set; } [Required] public ReportRenderType RenderType { get; set; } //PDF options //http://www.puppeteersharp.com/api/PuppeteerSharp.PdfOptions.html public string HeaderTemplate { get; set; } public string FooterTemplate { get; set; } public bool DisplayHeaderFooter { get; set; } public ReportPaperFormat PaperFormat { get; set; } public bool Landscape { get; set; } public string MarginOptionsBottom { get; set; } public string MarginOptionsLeft { get; set; } public string MarginOptionsRight { get; set; } public string MarginOptionsTop { get; set; } public string PageRanges { get; set; } public bool PreferCSSPageSize { get; set; } public bool PrintBackground { get; set; } public decimal Scale { get; set; } public Report() { RenderType = ReportRenderType.PDF; AType = AyaType.NoType; Roles = AuthorizationRoles.All; Active = true; //these are pdf option defaults as per PuppeteerSharp DisplayHeaderFooter=false; PaperFormat=ReportPaperFormat.NotSet; Landscape=false; PreferCSSPageSize=false; PrintBackground=false; Scale=1; } }//eoc }//eons