Files
raven/server/AyaNova/models/Report.cs
2021-06-24 20:05:21 +00:00

67 lines
2.1 KiB
C#

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