LevelOS-Core/MLL/ModeloContrato.cs

47 lines
1.9 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("Contratos", Schema = "dbo")]
public class ModeloContrato
{
// [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; }
// [StringLength(255)] // Opcional: Para validação de tamanho em ORMs como EF
public string? Descricao { get; set; } // varchar(255) NULL -> string?
public string? Observacoes { get; set; } // varchar(max) NULL -> string?
public decimal Valor { get; set; } // decimal(10, 2) NOT NULL -> decimal
public DateTime? DataInicio { get; set; } // date NULL -> DateTime?
public DateTime? DataValidade { get; set; } // date NULL -> DateTime?
public int? FranquiaTempo { get; set; } // int NULL -> int?
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
*/
}
}