summaryrefslogtreecommitdiff
path: root/Codemerx/Gestor.Model/Model.Domain.Financeiro/Lancamento.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Codemerx/Gestor.Model/Model.Domain.Financeiro/Lancamento.cs')
-rw-r--r--Codemerx/Gestor.Model/Model.Domain.Financeiro/Lancamento.cs285
1 files changed, 285 insertions, 0 deletions
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<List<KeyValuePair<string, string>>> ValidationEvent
+ {
+ get
+ {
+ Lancamento lancamento = this;
+ return new Func<List<KeyValuePair<string, string>>>(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<KeyValuePair<string, string>> Validate()
+ {
+ List<KeyValuePair<string, string>> keyValuePairs = ValidationHelper.AddValue();
+ keyValuePairs.AddRange(this.Controle.Validate());
+ if (string.IsNullOrWhiteSpace(this.Historico))
+ {
+ keyValuePairs.AddValue<string, string>("Historico", Messages.Obrigatorio, true);
+ }
+ else if (this.Historico.Length > 100)
+ {
+ keyValuePairs.AddValue<string, string>("Historico", string.Format(Messages.MaiorQueLimite, 100), true);
+ }
+ if (this.Valor <= decimal.Zero)
+ {
+ keyValuePairs.AddValue<string, string>("Valor", Messages.Obrigatorio, true);
+ }
+ decimal? valorPago = this.ValorPago;
+ decimal num = new decimal();
+ if ((valorPago.GetValueOrDefault() < num) & valorPago.HasValue)
+ {
+ keyValuePairs.AddValue<string, string>("ValorPago", Messages.Obrigatorio, true);
+ }
+ if (this.Conta == null)
+ {
+ keyValuePairs.AddValue<string, string>("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<string, string>("Documento", string.Format(Messages.MaiorQueLimite, 50), true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.Competencia) && this.Competencia.Length > 8)
+ {
+ keyValuePairs.AddValue<string, string>("Competencia|COMPETÊNCIA", string.Format(Messages.MaiorQueLimite, 8), true);
+ }
+ if (!string.IsNullOrWhiteSpace(this.Complemento) && this.Complemento.Length > 50)
+ {
+ keyValuePairs.AddValue<string, string>("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<string, string>("Baixa", string.Format(Messages.DataInvalida, Array.Empty<object>()), true);
+ }
+ if (DateTime.Compare(this.Vencimento, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(this.Vencimento, new DateTime(9999, 12, 31)) > 0)
+ {
+ keyValuePairs.AddValue<string, string>("Vencimento", string.Format(Messages.DataInvalida, Array.Empty<object>()), 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<string, string>("Pagamento", string.Format(Messages.DataInvalida, Array.Empty<object>()), true);
+ }
+ if (!this.Baixa.HasValue && this.Baixado)
+ {
+ keyValuePairs.AddValue<string, string>("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