LevelOS/MLL/ModeloContasPagar.cs

62 lines
2.8 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace MLL // Ou o namespace de sua preferência
{
// Opcional: Para Entity Framework, especifica o nome da tabela e o schema
// [Table("ContasPagar", Schema = "dbo")]
public class ModeloContasPagar
{
// [Key] // Opcional: Indica que esta é a chave primária
// [DatabaseGenerated(DatabaseGeneratedOption.Identity)] // Opcional: Indica que o DB gera o ID
public int Id { get; set; }
public int EmpresaId { get; set; }
public int FornecedorId { get; set; }
public int PlanoContaId { get; set; }
// [StringLength(255)] // Opcional: Para validação de tamanho em ORMs como EF
public string? Descricao { get; set; } // varchar(255) NULL -> string?
public decimal Valor { get; set; } // decimal(10, 2) NOT NULL -> decimal
public DateTime? DataEmissao { get; set; } // date NULL -> DateTime?
public DateTime DataVencimento { get; set; } // date NOT NULL -> DateTime
public DateTime? DataPagamento { get; set; } // date NULL -> DateTime?
// [StringLength(20)] // Opcional: Para validação de tamanho
public string Status { get; set; } = "Pendente"; // varchar(20) NOT NULL com DEFAULT -> string. Inicializado com o valor padrão.
public decimal? ValorPago { get; set; } // decimal(10, 2) NULL -> decimal?
public decimal? Juros { get; set; } = 0; // decimal(10, 2) NULL com DEFAULT -> decimal?. Inicializado com o valor padrão.
public decimal? Multa { get; set; } = 0; // decimal(10, 2) NULL com DEFAULT -> decimal?. Inicializado com o valor padrão.
public decimal? Desconto { get; set; } = 0; // decimal(10, 2) NULL com DEFAULT -> decimal?. Inicializado com o valor padrão.
public string? Observacoes { get; set; } // varchar(max) NULL -> string?
public bool Ativo { get; set; } = true; // bit NOT NULL com DEFAULT -> bool. Inicializado com o valor padrão.
public DateTime? CriadoEm { get; set; } // datetime NULL com DEFAULT -> DateTime?
public DateTime? AtualizadoEm { get; set; } // datetime NULL com DEFAULT -> DateTime?
// Opcional: Propriedades de navegação para relacionamentos (para ORMs como Entity Framework)
/*
[ForeignKey("EmpresaId")]
public virtual ModeloEmpresa? Empresa { get; set; } // Assumindo que você tem um modelo ModeloEmpresa
[ForeignKey("FornecedorId")]
public virtual ModeloFornecedor? Fornecedor { get; set; } // Assumindo que você tem um modelo ModeloFornecedor
[ForeignKey("PlanoContaId")]
public virtual ModeloPlanoDeContas? PlanoDeContas { get; set; } // Assumindo que você tem um modelo ModeloPlanoDeContas
*/
}
}