using System; using System.Collections.Generic; using System.ComponentModel; using Gestor.Model.Attributes; using Gestor.Model.Domain.Generic; using Gestor.Model.Helper; using Gestor.Model.Resources; using Newtonsoft.Json; namespace Gestor.Model.Domain.Financeiro; public class Saldo : DomainBase, IDomain { [Log(true)] public BancosContas Conta { get; set; } [Log(true)] [Description("VALOR INÍCIO")] public decimal ValorInicio { get; set; } [Log(true)] [Description("DATA INÍCIO")] public DateTime? DataInicio { get; set; } [Log(true)] [Description("VALOR FINAL")] public decimal? ValorFinal { get; set; } [Log(true)] [Description("DATA FINAL")] public DateTime? DataFinal { get; set; } [Log(true)] public string Extrato { get; set; } [JsonIgnore] public Func>> ValidationEvent => Validate; public List> Validate() { List> list = ValidationHelper.AddValue(); if (DataInicio.HasValue && (DateTime.Compare(DataInicio.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(DataInicio.Value, new DateTime(9999, 12, 31)) > 0)) { list.AddValue("DataInicio|ABERTURA", string.Format(Messages.DataInvalida)); } if (DataFinal.HasValue && (DateTime.Compare(DataFinal.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(DataFinal.Value, new DateTime(9999, 12, 31)) > 0)) { list.AddValue("DataFinal|FECHAMENTO", string.Format(Messages.DataInvalida)); } return list; } }