diff options
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Seguros/VendedorParcela.cs')
| -rw-r--r-- | Gestor.Model/Gestor.Model.Domain.Seguros/VendedorParcela.cs | 142 |
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; + } +} |