public async Task <bool> ValidaColunas( IEnumerable <ValoresPropriedades> listaValoresPropriedades, Tabela tabela, TabelaColuna tabelaColuna, int usuarioId) { bool valido = true; List <ErrosVendedorHistorico> listaErros = new List <ErrosVendedorHistorico>(); //Valida tamanho if (tabelaColuna.TipoCampo == "varchar" && listaValoresPropriedades.Where(x => x.Tamanho > tabelaColuna.TamanhoMaximo).Count() > 0) { valido = false; listaErros.AddRange( await servicoErrosVendedorHistorico .GeraErrosVendedorHistorico( listaValoresPropriedades.Where(x => x.Tamanho > tabelaColuna.TamanhoMaximo).Select(x => x.Valor), tabelaColuna.Nome, "Tamanho de campo maior que " + tabelaColuna.TamanhoMaximo + " ", usuarioId)); } //Valida se é obrigatório if (tabelaColuna.Obrigatorio == true && listaValoresPropriedades.Where(x => x.Valor == "" || x.Valor == null).Count() > 0) { valido = false; listaErros.AddRange( await servicoErrosVendedorHistorico .GeraErrosVendedorHistorico( listaValoresPropriedades.Where(x => x.Valor == "" || x.Valor == null).Select(x => x.Valor), tabelaColuna.Nome, "Campo é obrigatório.", usuarioId)); } if (tabela.Nome == "VendedorHistorico" && listaErros.Count() > 0) { await repositorioErrosVendedorHistorico .AdicionarBlocoAssincrono( listaErros); } return(valido); }
private List <TabelaColuna> _CarregarColunasTabela(XmlNode node, Tabela tabela) { var colunas = new List <TabelaColuna>(); var nomesColunas = conexao.ListarNomeDeColunas(tabela.Nome); foreach (var nome in nomesColunas) { var coluna = new TabelaColuna(); coluna.Nome = nome; coluna.Atributo = _BuscarAtributo(nome); coluna.Atributo.Tipo = conexao.VerificarTipoColuna(tabela.Nome, coluna.Nome); coluna.PermiteNulo = conexao.VerificarColunaPermiteNulo(tabela.Nome, coluna.Nome); colunas.Add(coluna); } return(colunas); }