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 ControleFinanceiro : DomainBase, IDomain { private string _historico; [Log(true)] [Name(true)] [Description("FORNECEDOR")] public Fornecedor Fornecedor { get; set; } [Log(true)] [Name(true)] [Description("PLANO DE CONTAS")] public Planos Plano { get; set; } [Log(true)] [Name(true)] [Description("CENTRO DE CUSTO")] public Centro Centro { get; set; } public string Historico { get { return _historico?.ToUpper(); } set { _historico = value; } } [Log(true)] [Description("QUANTIDADE DE PARCELAS")] public int Parcelas { get; set; } [JsonIgnore] public Func>> ValidationEvent => Validate; public List> Validate() { List> list = ValidationHelper.AddValue(); if (Fornecedor == null) { list.AddValue("Fornecedor", Messages.Obrigatorio); } Fornecedor fornecedor = Fornecedor; if (fornecedor != null && fornecedor.Id == 0) { list.AddValue("Fornecedor|FORNECEDOR", Messages.Obrigatorio + "\nPROVAVELMENTE NÃO HÁ NENHUM FORNECEDOR INCLUÍDO\nACESSE A TELA DE CADASTRO DE FORNECEDORES PARA INCLUIR"); } if (Plano == null) { list.AddValue("Plano|PLANO DE CONTAS", Messages.Obrigatorio + "\nPROVAVELMENTE NÃO HÁ NENHUM PLANO DE CONTAS INCLUÍDO\nACESSE A TELA PLANO DE CONTAS PARA INCLUIR"); } Planos plano = Plano; if (plano != null && plano.Id == 0) { list.AddValue("Plano|PLANO DE CONTAS", Messages.Obrigatorio + "\nPROVAVELMENTE NÃO HÁ NENHUM PLANO DE CONTAS INCLUÍDO\nACESSE A TELA PLANO DE CONTAS PARA INCLUIR"); } if (Centro == null) { list.AddValue("Centro|CENTRO DE CUSTOS", Messages.Obrigatorio + "\nPROVAVELMENTE NÃO HÁ NENHUM CENTRO DE CUSTOS INCLUÍDO\nACESSE A TELA CENTRO DE CUSTOS PARA INCLUIR"); } Centro centro = Centro; if (centro != null && centro.Id == 0) { list.AddValue("Centro|CENTRO DE CUSTOS", Messages.Obrigatorio + "\nPROVAVELMENTE NÃO HÁ NENHUM CENTRO DE CUSTOS INCLUÍDO\nACESSE A TELA CENTRO DE CUSTOS PARA INCLUIR"); } return list; } }