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 VwInvoiceCrude
{
    [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("total_quantity")]
    public decimal? TotalQuantity { get; set; }

    [Column("subtotal")]
    public decimal? Subtotal { get; set; }
}
