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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
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;
}
}
|