summaryrefslogtreecommitdiff
path: root/Gestor.Model/Gestor.Model.Domain.Seguros/VendedorParcela.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Seguros/VendedorParcela.cs')
-rw-r--r--Gestor.Model/Gestor.Model.Domain.Seguros/VendedorParcela.cs142
1 files changed, 142 insertions, 0 deletions
diff --git a/Gestor.Model/Gestor.Model.Domain.Seguros/VendedorParcela.cs b/Gestor.Model/Gestor.Model.Domain.Seguros/VendedorParcela.cs
new file mode 100644
index 0000000..b1b66ff
--- /dev/null
+++ b/Gestor.Model/Gestor.Model.Domain.Seguros/VendedorParcela.cs
@@ -0,0 +1,142 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using Gestor.Model.Attributes;
+using Gestor.Model.Common;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Helper;
+using Gestor.Model.Resources;
+using Newtonsoft.Json;
+
+namespace Gestor.Model.Domain.Seguros;
+
+public class VendedorParcela : DomainBase, IDomain
+{
+ private string _vCondRep;
+
+ public bool Selecionado { get; set; }
+
+ [Log(true)]
+ public Vendedor Vendedor { get; set; }
+
+ [Log(false)]
+ public Documento Documento { get; set; }
+
+ [Log(false)]
+ public Parcela Parcela { get; set; }
+
+ public string VCondRep
+ {
+ get
+ {
+ return _vCondRep?.ToUpper();
+ }
+ set
+ {
+ _vCondRep = value;
+ }
+ }
+
+ [Log(true)]
+ [Description("VALOR REPASSE")]
+ public decimal? ValorRepasse { get; set; }
+
+ [Log(true)]
+ [Description("PORCENTAGEM REPASSE")]
+ public decimal? PorcentagemRepasse { get; set; }
+
+ public decimal? ValorRepasseB { get; set; }
+
+ [Log(true)]
+ [Description("DATA DO PAGAMENTO")]
+ public DateTime? DataPagamento { get; set; }
+
+ public decimal? PorcentagemRepasseB { get; set; }
+
+ [Log(true)]
+ [Description("DATA PREVISÃO DE PAGAMENTO")]
+ public DateTime? DataPrePagamento { get; set; }
+
+ public decimal? ValorTotal { get; set; }
+
+ public decimal? ValorTotalPago { get; set; }
+
+ public Repasse Repasse { get; set; }
+
+ public CondicaoRepasse CondicaoRepasse { get; set; }
+
+ public TipoVendedor TipoVendedor { get; set; }
+
+ public bool CoCorretagem { get; set; }
+
+ public string RecebidoPorCompleto { get; set; }
+
+ [JsonIgnore]
+ public Func<List<KeyValuePair<string, string>>> ValidationEvent => Validate;
+
+ public List<KeyValuePair<string, string>> Validate()
+ {
+ List<KeyValuePair<string, string>> list = ValidationHelper.AddValue();
+ if (DataPagamento.HasValue && (DateTime.Compare(DataPagamento.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(DataPagamento.Value, new DateTime(9999, 12, 31)) > 0))
+ {
+ list.AddValue("DataPagamento", string.Format(Messages.DataInvalida));
+ }
+ if (DataPrePagamento.HasValue && (DateTime.Compare(DataPrePagamento.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(DataPrePagamento.Value, new DateTime(9999, 12, 31)) > 0))
+ {
+ list.AddValue("DataPrePagamento", string.Format(Messages.DataInvalida));
+ }
+ if (Vendedor == null)
+ {
+ list.AddValue("Vendedor", Messages.Obrigatorio);
+ }
+ if (Documento == null)
+ {
+ list.AddValue("Documento", Messages.Obrigatorio);
+ }
+ if (Documento != null && Documento.Id > 0 && Parcela == null)
+ {
+ list.AddValue("Parcela", Messages.Obrigatorio);
+ }
+ if (Repasse == null)
+ {
+ list.AddValue("Repasse", Messages.Obrigatorio);
+ }
+ if (TipoVendedor == null && !CoCorretagem)
+ {
+ list.AddValue("TipoVendedor", Messages.Obrigatorio);
+ }
+ if (!PorcentagemRepasse.HasValue && !CoCorretagem)
+ {
+ list.AddValue("PorcentagemRepasse", Messages.Obrigatorio);
+ }
+ if (!ValorRepasse.HasValue)
+ {
+ list.AddValue("ValorRepasse", Messages.Obrigatorio);
+ }
+ if (Vendedor == null || Vendedor.Corretora)
+ {
+ return list;
+ }
+ if (PorcentagemRepasse.HasValue)
+ {
+ decimal? porcentagemRepasse = PorcentagemRepasse;
+ if ((porcentagemRepasse.GetValueOrDefault() <= default(decimal)) & porcentagemRepasse.HasValue)
+ {
+ list.AddValue("PorcentagemRepasse", Messages.Invalido);
+ }
+ }
+ if (ValorRepasse.HasValue)
+ {
+ decimal? porcentagemRepasse = ValorRepasse;
+ if (((porcentagemRepasse.GetValueOrDefault() == default(decimal)) & porcentagemRepasse.HasValue) && !CoCorretagem)
+ {
+ list.AddValue("ValorRepasse", Messages.Invalido);
+ }
+ }
+ if (Repasse != null && Documento != null && Documento.TipoRecebimento.GetValueOrDefault() == TipoRecebimento.Parcela && Repasse.Base.GetValueOrDefault() == BaseRepasse.Transmissao && (!Documento.Remessa.HasValue || DateTime.Compare(Documento.Remessa.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(Documento.Remessa.Value, new DateTime(9999, 12, 31)) > 0))
+ {
+ list.AddValue("TRANSMISSÃO DA PROPOSTA", string.Format(Messages.DataInvalida));
+ }
+ return list;
+ }
+}