diff options
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Financeiro/Transferencia.cs')
| -rw-r--r-- | Gestor.Model/Gestor.Model.Domain.Financeiro/Transferencia.cs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Gestor.Model/Gestor.Model.Domain.Financeiro/Transferencia.cs b/Gestor.Model/Gestor.Model.Domain.Financeiro/Transferencia.cs new file mode 100644 index 0000000..35f816e --- /dev/null +++ b/Gestor.Model/Gestor.Model.Domain.Financeiro/Transferencia.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using Gestor.Model.Helper; +using Gestor.Model.Resources; +using Newtonsoft.Json; + +namespace Gestor.Model.Domain.Financeiro; + +public class Transferencia +{ + public BancosContas Origem { get; set; } + + public decimal Valor { get; set; } + + public DateTime Data { get; set; } + + public BancosContas Destino { 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 (Origem == null) + { + list.AddValue("Origem", Messages.Obrigatorio); + } + if (Destino == null) + { + list.AddValue("Destino", Messages.Obrigatorio); + } + if (Origem != null && Destino != null && Origem.Id == Destino.Id) + { + list.AddValue("CONTAS", "A CONTA DE ORIGEM NÃO PODE SER A MESMA QUE A DESTINO."); + } + if (DateTime.Compare(Data, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(Data, new DateTime(9999, 12, 31)) > 0) + { + list.AddValue("Data", string.Format(Messages.DataInvalida)); + } + if (Valor <= 0m) + { + list.AddValue("Valor", Messages.Obrigatorio); + } + return list; + } +} |