using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;

namespace IWS5.DatabaseAccess.IwsDataModels;

[Table("ATConvertDefinition")]
public partial class AtconvertDefinition
{
    [Key]
    public int Id { get; set; }

    [Column("ProcessID")]
    public int ProcessId { get; set; }

    public int TemplateId { get; set; }

    public int? SourceDocTypeId { get; set; }

    public int? ExportDocTypeId { get; set; }

    public int? MergeOrderId { get; set; }

    public bool? MergeDocs { get; set; }

    public bool? KeepInMemory { get; set; }

    public bool? CoverSheet { get; set; }

    public bool? Barcodes { get; set; }

    public int? BarcodesFontId { get; set; }

    public bool ReplaceDocument { get; set; }

    [ForeignKey("BarcodesFontId")]
    [InverseProperty("AtconvertDefinitions")]
    public virtual AtbarcodeFont? BarcodesFont { get; set; }

    [ForeignKey("ExportDocTypeId")]
    [InverseProperty("AtconvertDefinitionExportDocTypes")]
    public virtual AtimportDocumentType? ExportDocType { get; set; }

    [ForeignKey("MergeOrderId")]
    [InverseProperty("AtconvertDefinitions")]
    public virtual AtmergeOrder? MergeOrder { get; set; }

    [ForeignKey("SourceDocTypeId")]
    [InverseProperty("AtconvertDefinitionSourceDocTypes")]
    public virtual AtimportDocumentType? SourceDocType { get; set; }
}
