summaryrefslogtreecommitdiff
path: root/Gestor.Model/Gestor.Model.Domain.Seguros/VinculoRepasse.cs
diff options
context:
space:
mode:
authorLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 17:17:46 +0000
committerLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 17:17:46 +0000
commit0440c722a221b8068bbf388c1c0c51f0faff0451 (patch)
tree169cbf90c50ff7961db82ecb606c50c2a45a1688 /Gestor.Model/Gestor.Model.Domain.Seguros/VinculoRepasse.cs
parent225aa1499e37faf9d38257caabbadc68d78b427e (diff)
downloadgestor-0440c722a221b8068bbf388c1c0c51f0faff0451.tar.gz
gestor-0440c722a221b8068bbf388c1c0c51f0faff0451.zip
some dllsHEADmaster
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Seguros/VinculoRepasse.cs')
-rw-r--r--Gestor.Model/Gestor.Model.Domain.Seguros/VinculoRepasse.cs74
1 files changed, 74 insertions, 0 deletions
diff --git a/Gestor.Model/Gestor.Model.Domain.Seguros/VinculoRepasse.cs b/Gestor.Model/Gestor.Model.Domain.Seguros/VinculoRepasse.cs
new file mode 100644
index 0000000..3543683
--- /dev/null
+++ b/Gestor.Model/Gestor.Model.Domain.Seguros/VinculoRepasse.cs
@@ -0,0 +1,74 @@
+using System.Collections.Generic;
+using System.Linq;
+using Gestor.Model.Common;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Helper;
+using Gestor.Model.Resources;
+
+namespace Gestor.Model.Domain.Seguros;
+
+public class VinculoRepasse : DomainBase
+{
+ public TipoVendedor TipoVendedor { get; set; }
+
+ public long IdRepasse { get; set; }
+
+ public TipoVendedor TipoVendedorVinculo { get; set; }
+
+ public Repasse RepasseVinculo { get; set; }
+
+ public List<KeyValuePair<string, string>> Validate(List<VinculoRepasse> vinculos, Repasse repasse)
+ {
+ List<KeyValuePair<string, string>> list = ValidationHelper.AddValue();
+ if (TipoVendedor == null)
+ {
+ list.AddValue("TipoVendedor|TIPO VENDEDOR DO REPASSE", Messages.Obrigatorio);
+ }
+ if (IdRepasse == 0L)
+ {
+ list.AddValue("IdRepasse|REPASSE", Messages.Obrigatorio);
+ }
+ if (TipoVendedorVinculo == null)
+ {
+ list.AddValue("TipoVendedorVinculo|TIPO VENDEDOR DO VÍNCULO", Messages.Obrigatorio);
+ }
+ if (RepasseVinculo == null)
+ {
+ list.AddValue("RepasseVinculo|REPASSE DO VÍNCULO", Messages.Obrigatorio);
+ }
+ if (TipoVendedor != null && TipoVendedorVinculo != null && TipoVendedor.Id == TipoVendedorVinculo.Id)
+ {
+ list.AddValue("TipoVendedor", "TIPO VENDEDOR SELECIONADO NÃO PODE SER O MESMO TIPO VENDEDOR DO VINCULO");
+ }
+ if (IdRepasse > 0 && RepasseVinculo != null && IdRepasse == RepasseVinculo.Id)
+ {
+ list.AddValue("RepasseVinculo|REPASSE DO VÍNCULO", "NÃO É POSSÍVEL VINCULAR O MESMO REPASSE");
+ }
+ decimal num = ((RepasseVinculo == null) ? 0m : ((RepasseVinculo.Tipo.GetValueOrDefault() == TipoRepasse.Percentual && RepasseVinculo.Incidencia.GetValueOrDefault() == TipoIncidencia.SobreComissao) ? RepasseVinculo.ValorNovo : 0m));
+ decimal num2 = ((repasse.Tipo.GetValueOrDefault() == TipoRepasse.Percentual && repasse.Incidencia.GetValueOrDefault() == TipoIncidencia.SobreComissao) ? repasse.ValorNovo : 0m) + num;
+ num2 += ((TipoVendedor == null) ? 0m : (vinculos?.Where((VinculoRepasse x) => TipoVendedor.Id == x.TipoVendedor.Id && x.RepasseVinculo.Tipo.GetValueOrDefault() == TipoRepasse.Percentual && x.RepasseVinculo.Incidencia.GetValueOrDefault() == TipoIncidencia.SobreComissao).Sum((VinculoRepasse x) => x.RepasseVinculo.ValorNovo) ?? 0m));
+ decimal num3 = ((RepasseVinculo == null) ? 0m : ((RepasseVinculo.Tipo.GetValueOrDefault() == TipoRepasse.Percentual && RepasseVinculo.Incidencia.GetValueOrDefault() == TipoIncidencia.SobreComissao) ? RepasseVinculo.ValorRenovacao : 0m));
+ decimal num4 = ((repasse.Tipo.GetValueOrDefault() == TipoRepasse.Percentual && repasse.Incidencia.GetValueOrDefault() == TipoIncidencia.SobreComissao) ? repasse.ValorRenovacao : 0m) + num3 + ((TipoVendedor == null) ? 0m : (vinculos?.Where((VinculoRepasse x) => TipoVendedor.Id == x.TipoVendedor.Id && x.RepasseVinculo.Tipo.GetValueOrDefault() == TipoRepasse.Percentual && x.RepasseVinculo.Incidencia.GetValueOrDefault() == TipoIncidencia.SobreComissao).Sum((VinculoRepasse x) => x.RepasseVinculo.ValorRenovacao) ?? 0m));
+ if (num2 > 100m)
+ {
+ list.AddValue("RepasseVinculo|VALOR NOVO", "O VALOR DE REPASSE PARA SEGUROS NOVOS ULTRAPASSARÁ 100% DA COMISSÃO RECEBIDA");
+ }
+ if (num4 > 100m)
+ {
+ list.AddValue("RepasseVinculo|VALOR RENOVAÇÃO", "O VALOR DE REPASSE PARA RENOVAÇÕES ULTRAPASSARÁ 100% DA COMISSÃO RECEBIDA");
+ }
+ if (vinculos == null || vinculos.Count <= 0)
+ {
+ return list;
+ }
+ if (TipoVendedor != null && TipoVendedorVinculo != null && vinculos.Any((VinculoRepasse x) => x.TipoVendedor.Id == TipoVendedor.Id && x.TipoVendedorVinculo.Id == TipoVendedorVinculo.Id))
+ {
+ list.AddValue("TipoVendedorVinculo|TIPO VENDEDOR DO VÍNCULO", "JÁ EXISTE UM VINCULO DE REPASSE PARA " + TipoVendedorVinculo.Descricao);
+ }
+ if (TipoVendedor != null && RepasseVinculo != null && vinculos.Any((VinculoRepasse x) => x.TipoVendedor.Id == TipoVendedor.Id && x.RepasseVinculo.Vendedor.Id == RepasseVinculo.Vendedor.Id))
+ {
+ list.AddValue("TipoVendedorVinculo|VENDEDOR DO VÍNCULO", "JÁ EXISTE UM VINCULO DE REPASSE PARA PARA " + RepasseVinculo.Vendedor.Nome);
+ }
+ return list;
+ }
+}