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

namespace Fast.Shared.Database.Models;

[Keyless]
public partial class VwInvoiceGa
{
    [Column("id")]
    public int? Id { get; set; }

    [Column("invoice_num", TypeName = "citext")]
    public string? InvoiceNum { get; set; }

    [Column("traders", TypeName = "citext")]
    public string? Traders { get; set; }

    [Column("month")]
    public DateOnly? Month { get; set; }

    [Column("internal_entity_id")]
    public int? InternalEntityId { get; set; }

    [Column("internal_entity", TypeName = "citext")]
    public string? InternalEntity { get; set; }

    [Column("counterparty_id")]
    public int? CounterpartyId { get; set; }

    [Column("counterparty", TypeName = "citext")]
    public string? Counterparty { get; set; }

    [Column("invoice_type", TypeName = "citext")]
    public string? InvoiceType { get; set; }

    [Column("is_approved")]
    public string? IsApproved { get; set; }

    [Column("counterparty_email_addresses", TypeName = "citext")]
    public string? CounterpartyEmailAddresses { get; set; }

    [Column("due_date")]
    public DateOnly? DueDate { get; set; }

    [Column("file_name_original", TypeName = "citext")]
    public string? FileNameOriginal { get; set; }

    [Column("file_name_on_disk", TypeName = "citext")]
    public string? FileNameOnDisk { get; set; }

    [Column("emailed_by_name", TypeName = "citext")]
    public string? EmailedByName { get; set; }

    [Column("emailed_time")]
    public DateTime? EmailedTime { get; set; }

    [Column("contract_id")]
    public int? ContractId { get; set; }

    [Column("payment_date_option_id")]
    public int? PaymentDateOptionId { get; set; }

    [Column("payment_date_type_id")]
    public int? PaymentDateTypeId { get; set; }
}
