internal static void ValidarRegrasParaDeletar(Categoria categoria, IEnumerable <Produto> produtos) { var produtosCast = produtos.Cast <object>().ToList(); // Verfica se existe algum produto vinculado a categoria a ser deletada ComumValidation <Categoria> .VerificarVinculoParaDeletar( categoria, produtosCast, nameof(Produto.Categoria), nameof(categoria.IdentificadorUnico), () => throw new CategoriaIncorretaUseCaseException(string.Format(Mensagem.Validacao.Categoria.CategoriaVinculadaAProduto, categoria.Tipo)) ); }
internal static void ValidarRegrasParaInserir(Pessoa pessoa, List <Pessoa> pessoas) { // Verifica se existe outro cpf cadastrado if (pessoa.Cpf != null && pessoa.Cpf != string.Empty) { ComumValidation <Pessoa> .VerificarDuplicidade(pessoa, pessoas, nameof(pessoa.Cpf), () => throw new PessoaIncorretaUseCaseException(string.Format(Mensagem.Validacao.Pessoa.CpfDuplicado, pessoa.Cpf))); } ComumValidation <Pessoa> .VerificarDuplicidade(pessoa, pessoas, nameof(pessoa.Nome), () => throw new PessoaIncorretaUseCaseException(string.Format(Mensagem.Validacao.Pessoa.NomeDuplicado, pessoa.Nome))); ValidarDataNascimento(pessoa); }
internal static void ValidarRegrasParaInserir(Produto produto, IEnumerable <Produto> produtos, IEnumerable <Categoria> categorias, IEnumerable <Adicional> adcionais) { // Verifica se existe outro produto cadastrado com mesmo nome ComumValidation <Produto> .VerificarDuplicidade(produto, produtos, nameof(produto.Nome), () => throw new ProdutoIncorretoUseCaseException(string.Format(Mensagem.Validacao.Produto.ProdutoDuplicadoPorNome, produto.Nome))); // Verifica se existe outro produto cadastrado com mesmo codigo interno ComumValidation <Produto> .VerificarDuplicidade(produto, produtos, nameof(produto.CodigoInterno), () => throw new ProdutoIncorretoUseCaseException(string.Format(Mensagem.Validacao.Produto.ProdutoDuplicadoPorCodigo, produto.CodigoInterno))); // Verifica se existe categoria vinculada para inserir o produto ComumValidation <Categoria> .VerificarVinculoInserir(produto.Categoria, categorias, nameof(produto.Categoria.IdentificadorUnico), () => throw new ProdutoIncorretoUseCaseException(Mensagem.Validacao.Produto.CategoriaNaoVinculadaAoProduto)); if (produto.Adicionais.Count != 0 && !produto.Adicionais.TrueForAll(z => adcionais.Any(x => x.IdentificadorUnico == z.IdentificadorUnico))) { throw new ProdutoIncorretoUseCaseException(Mensagem.Validacao.Produto.ProdutoSemAdicional); } }
internal static void ValidarRegrasParaInserir(Categoria categoria, IEnumerable <Categoria> categorias) { // Verifica se existe outra categoria cadastrada com mesmo nome ComumValidation <Categoria> .VerificarDuplicidade(categoria, categorias, nameof(categoria.Tipo), () => throw new CategoriaIncorretaUseCaseException(string.Format(Mensagem.Validacao.Categoria.CategoriaDuplicada, categoria.Tipo))); }
internal static void ValidarRegrasParaInserir(Adicional adicional, IEnumerable <Adicional> adicionais) { // Verifica se existe outro adicional cadastrado com mesmo nome ComumValidation <Adicional> .VerificarDuplicidade(adicional, adicionais, nameof(adicional.Tipo), () => throw new AdicionalIncorretoUseCaseException(string.Format(Mensagem.Validacao.Adicional.AdicionalDuplicada, adicional.Tipo))); }