LevelOS-Core/MLL/ModeloContasReceber.cs

66 lines
3.0 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("ContasReceber", Schema = "dbo")]
public class ModeloContasReceber
{
// [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 ClienteId { get; set; }
public int PlanoContaId { get; set; }
public int? ContratoId { get; set; } // int NULL -> int?
// [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("ClienteId")]
public virtual ModeloCliente? Cliente { get; set; } // Assumindo que você tem um modelo ModeloCliente
[ForeignKey("PlanoContaId")]
public virtual ModeloPlanoDeContas? PlanoDeContas { get; set; } // Assumindo que você tem um modelo ModeloPlanoDeContas
[ForeignKey("ContratoId")]
public virtual ModeloContrato? Contrato { get; set; } // Assumindo que você tem um modelo ModeloContrato
*/
}
}