From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../Model.Domain.Financeiro/Lancamento.cs | 285 +++++++++++++++++++++ 1 file changed, 285 insertions(+) create mode 100644 Codemerx/Gestor.Model/Model.Domain.Financeiro/Lancamento.cs (limited to 'Codemerx/Gestor.Model/Model.Domain.Financeiro/Lancamento.cs') diff --git a/Codemerx/Gestor.Model/Model.Domain.Financeiro/Lancamento.cs b/Codemerx/Gestor.Model/Model.Domain.Financeiro/Lancamento.cs new file mode 100644 index 0000000..2bdd404 --- /dev/null +++ b/Codemerx/Gestor.Model/Model.Domain.Financeiro/Lancamento.cs @@ -0,0 +1,285 @@ +using Gestor.Model.Attributes; +using Gestor.Model.Common; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Helper; +using Gestor.Model.Resources; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Runtime.CompilerServices; + +namespace Gestor.Model.Domain.Financeiro +{ + public class Lancamento : DomainBase, IDomain + { + private decimal? _valorPago; + + private string _historico; + + private string _documento; + + private string _complemento; + + private string _competencia; + + [Description("DATA DA BAIXA")] + [Log(true)] + public DateTime? Baixa + { + get; + set; + } + + public bool Baixado + { + get; + set; + } + + [Description("CÓDIGO BANCO")] + [Log(true)] + public string CodigoBanco + { + get; + set; + } + + [Description("COMPETÊNCIA")] + [Log(true)] + public string Competencia + { + get + { + string str = this._competencia; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._competencia = value; + } + } + + [Log(true)] + public string Complemento + { + get + { + string str = this._complemento; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._complemento = value; + } + } + + [Log(true)] + public BancosContas Conta + { + get; + set; + } + + public ControleFinanceiro Controle + { + get; + set; + } + + [Description("DATA LANÇAMENTO")] + [Log(true)] + public DateTime? DataLancamento + { + get; + set; + } + + [Log(true)] + public string Documento + { + get + { + string str = this._documento; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._documento = value; + } + } + + [Description("HISTÓRICO")] + [Log(true)] + public string Historico + { + get + { + string str = this._historico; + if (str != null) + { + return str.ToUpper(); + } + return null; + } + set + { + this._historico = value; + } + } + + [Description("OBSERVAÇÃO")] + [Log(true)] + public string Observacao + { + get; + set; + } + + [Log(true)] + public DateTime? Pagamento + { + get; + set; + } + + [Log(true)] + public int Parcela + { + get; + set; + } + + public bool Selecionado + { + get; + set; + } + + [Log(true)] + public Gestor.Model.Common.Sinal Sinal + { + get; + set; + } + + [Description("TIPO PAGAMENTO")] + [Log(true)] + public Gestor.Model.Common.TipoPagamento TipoPagamento + { + get; + set; + } + + [JsonIgnore] + public Func>> ValidationEvent + { + get + { + Lancamento lancamento = this; + return new Func>>(lancamento.Validate); + } + } + + [Log(true)] + public decimal Valor + { + get; + set; + } + + [Description("VALOR PAGO")] + [Log(true)] + public decimal? ValorPago + { + get + { + return new decimal?(this._valorPago.GetValueOrDefault()); + } + set + { + this._valorPago = value; + } + } + + [Log(true)] + public DateTime Vencimento + { + get; + set; + } + + public Lancamento() + { + } + + public List> Validate() + { + List> keyValuePairs = ValidationHelper.AddValue(); + keyValuePairs.AddRange(this.Controle.Validate()); + if (string.IsNullOrWhiteSpace(this.Historico)) + { + keyValuePairs.AddValue("Historico", Messages.Obrigatorio, true); + } + else if (this.Historico.Length > 100) + { + keyValuePairs.AddValue("Historico", string.Format(Messages.MaiorQueLimite, 100), true); + } + if (this.Valor <= decimal.Zero) + { + keyValuePairs.AddValue("Valor", Messages.Obrigatorio, true); + } + decimal? valorPago = this.ValorPago; + decimal num = new decimal(); + if ((valorPago.GetValueOrDefault() < num) & valorPago.HasValue) + { + keyValuePairs.AddValue("ValorPago", Messages.Obrigatorio, true); + } + if (this.Conta == null) + { + keyValuePairs.AddValue("Conta|CONTA CORRENTE", string.Concat(Messages.Obrigatorio, "\nSE NÃO HOUVER NENHUMA CONTA CORRENTE CADASTRADA\nACESSE A TELA BANCOS E CONTAS PARA INCLUIR"), true); + } + if (!string.IsNullOrWhiteSpace(this.Documento) && this.Documento.Length > 50) + { + keyValuePairs.AddValue("Documento", string.Format(Messages.MaiorQueLimite, 50), true); + } + if (!string.IsNullOrWhiteSpace(this.Competencia) && this.Competencia.Length > 8) + { + keyValuePairs.AddValue("Competencia|COMPETÊNCIA", string.Format(Messages.MaiorQueLimite, 8), true); + } + if (!string.IsNullOrWhiteSpace(this.Complemento) && this.Complemento.Length > 50) + { + keyValuePairs.AddValue("Complemento", string.Format(Messages.MaiorQueLimite, 50), true); + } + if (this.Baixa.HasValue && (DateTime.Compare(this.Baixa.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(this.Baixa.Value, new DateTime(9999, 12, 31)) > 0)) + { + keyValuePairs.AddValue("Baixa", string.Format(Messages.DataInvalida, Array.Empty()), true); + } + if (DateTime.Compare(this.Vencimento, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(this.Vencimento, new DateTime(9999, 12, 31)) > 0) + { + keyValuePairs.AddValue("Vencimento", string.Format(Messages.DataInvalida, Array.Empty()), true); + } + if (this.Pagamento.HasValue && (DateTime.Compare(this.Pagamento.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(this.Pagamento.Value, new DateTime(9999, 12, 31)) > 0)) + { + keyValuePairs.AddValue("Pagamento", string.Format(Messages.DataInvalida, Array.Empty()), true); + } + if (!this.Baixa.HasValue && this.Baixado) + { + keyValuePairs.AddValue("Baixa", "NÃO É POSSÍVEL SALVAR UM DOCUMENTO SEM DATA DE BAIXA QUANDO O LANÇAMENTO POSSUÍ BAIXA", true); + } + return keyValuePairs; + } + } +} \ No newline at end of file -- cgit v1.2.3