Esempio n. 1
0
        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);
            }
        }
Esempio n. 4
0
 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)));
 }
Esempio n. 5
0
 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)));
 }