1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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;
}
}
|