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
|
using Gestor.Model.Domain.Generic;
using Gestor.Model.Helper;
using Gestor.Model.Resources;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace Gestor.Model.Domain.Financeiro
{
public class Transferencia
{
public DateTime Data
{
get;
set;
}
public BancosContas Destino
{
get;
set;
}
public BancosContas Origem
{
get;
set;
}
[JsonIgnore]
public Func<List<KeyValuePair<string, string>>> ValidationEvent
{
get
{
return new Func<List<KeyValuePair<string, string>>>(this.Validate);
}
}
public decimal Valor
{
get;
set;
}
public Transferencia()
{
}
public List<KeyValuePair<string, string>> Validate()
{
List<KeyValuePair<string, string>> keyValuePairs = ValidationHelper.AddValue();
if (this.Origem == null)
{
keyValuePairs.AddValue<string, string>("Origem", Messages.Obrigatorio, true);
}
if (this.Destino == null)
{
keyValuePairs.AddValue<string, string>("Destino", Messages.Obrigatorio, true);
}
if (this.Origem != null && this.Destino != null && this.Origem.Id == this.Destino.Id)
{
keyValuePairs.AddValue<string, string>("CONTAS", "A CONTA DE ORIGEM NÃO PODE SER A MESMA QUE A DESTINO.", true);
}
if (DateTime.Compare(this.Data, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(this.Data, new DateTime(9999, 12, 31)) > 0)
{
keyValuePairs.AddValue<string, string>("Data", string.Format(Messages.DataInvalida, Array.Empty<object>()), true);
}
if (this.Valor <= decimal.Zero)
{
keyValuePairs.AddValue<string, string>("Valor", Messages.Obrigatorio, true);
}
return keyValuePairs;
}
}
}
|