private void Validar(ItemDicionario item, object valor) { ValidarObrigatorio(item, valor); ValidarTamanhoMinimo(item, valor); ValidarTamanhoMaximo(item, valor); ValidarValidacoesPersonalizadas(item, valor); }
private ICollection <object> ConsultarFilhosAtuais(TObjeto model, ItemDicionario campo) { var expressao = ExpressionHelper.CriarExpressaoDeConsultaDaPropriedade <TObjeto>(campo.Propriedade); var buscador = (Buscador <TObjeto>)_contexto.Repositorio <TObjeto>().Buscar; return(buscador.ConsultarPropriedade(model, expressao).Cast <object>().ToList()); }
private string ConsultarAliasDoCampo(ItemDicionario item) { if (string.IsNullOrEmpty(item.Alias)) { return(string.Empty); } return("as[" + item.Alias + "]"); }
private void ValidarValidacoesPersonalizadas(ItemDicionario item, object valor) { if (item.Validacoes == null) { return; } foreach (var validador in item.Validacoes) { validador.Validar(item.Propriedade, valor); } }
private static void CriarColuna(ItemDicionario itemDicionario, DataTable tabela) { var coluna = tabela.Columns.Add(itemDicionario.Nome, itemDicionario.TipoLocal); coluna.Caption = itemDicionario.AliasOuNome; coluna.AllowDBNull = !itemDicionario.Obrigatorio; if (itemDicionario.TamanhoMaximo > 0) { coluna.MaxLength = itemDicionario.TamanhoMaximo; } }
private void ValidarTamanhoMaximo(ItemDicionario item, object valor) { if (item.TamanhoMaximo < 1) { return; } var erro = ((valor != null) && (valor != DBNull.Value) && (valor.GetType() == typeof(string)) && (((string)valor).Length > item.TamanhoMaximo)); if (erro) { throw new CampoPossuiTamanhoMaximoDePeenchimentoException(item.AliasOuNome, item.TamanhoMaximo); } }
private void ValidarObrigatorio(ItemDicionario item, object valor) { if (!item.Obrigatorio) { return; } var erro = (valor == null) || (valor == DBNull.Value); if (erro) { throw new CampoPossuiPreenchimentoObrigatorioException(item.AliasOuNome); } }
private static void SincronizarParametro(IDbCommand comando, ItemDicionario itemDicionario, object valor) { var nomeParametro = string.Concat("@p", itemDicionario.Id); var parametro = (SqlParameter)comando.Parameters[nomeParametro]; var valorParametro = (valor ?? DBNull.Value); if ((itemDicionario.TipoLocal.IsEnum) && (valor != null) && (valorParametro != DBNull.Value)) { valorParametro = (itemDicionario.TipoBanco == DbType.String) ? ConverterEnumEmString(itemDicionario.Propriedade, valorParametro) : valor.GetHashCode(); } parametro.Value = valorParametro; }
private static void CriarColuna(ItemDicionario itemDicionario, DataTable tabela) { var coluna = tabela.Columns.Add(itemDicionario.Nome, itemDicionario.TipoLocal); coluna.Caption = itemDicionario.AliasOuNome; coluna.AllowDBNull = !itemDicionario.Obrigatorio; if ((coluna.DataType == typeof(string)) && (itemDicionario.TamanhoMaximo > 0)) { coluna.MaxLength = itemDicionario.TamanhoMaximo; } if (itemDicionario.OpcaoGeracao == Entities.Anotacoes.Incremento.Identity) { coluna.AutoIncrement = true; coluna.AutoIncrementSeed = 1; coluna.AutoIncrementStep = 1; } }
private void ValidarObrigatorio(ItemDicionario item, object valor) { if (!item.Obrigatorio) { return; } var erro = (valor == null) || (valor == DBNull.Value); if ((!erro) && (valor.GetType() == typeof(string))) { erro = string.IsNullOrWhiteSpace((string)valor); } if (erro) { throw new CampoPossuiPreenchimentoObrigatorioException(item.AliasOuNome); } }
private IEnumerable <Action <ItemDicionario, object> > ConsultarValidadores(ItemDicionario item) { yield return(ValidarObrigatorio); yield return(ValidarTamanhoMaximo); if (item.Validacoes == null) { yield break; } foreach (var validador in item.Validacoes) { var val = validador; Action <ItemDicionario, object> validacao = (i, v) => val.Validar(v); yield return(validacao); } }
public IEnumerable <string> Valido(ItemDicionario item, object valor) { var validadores = ConsultarValidadores(item); foreach (var validador in validadores) { string mensagem = null; try { validador(item, valor); } catch (Exception ex) { mensagem = ex.Message; } if (mensagem != null) { yield return(mensagem); } } }
private object ConsultarValorDoRegistro(DataRow registro, ItemDicionario item) { return(registro[item.Nome]); }
private object ConsultarValorDoRegistro <TObjeto>(TObjeto registro, ItemDicionario item) { return(item.Propriedade.GetValue(registro, null)); }
private bool CampoFilho(ItemDicionario item) { return((item.Ligacao != null) && (item.Ligacao.Tipo == TiposRelacionamento.Descendente)); }
private static object ConsultarValorDaPropriedadeDoObjeto <TObjeto>(TObjeto model, ItemDicionario campo) where TObjeto : IEntidade { return((model == null) ? null : campo.Propriedade.GetValue(model, null)); }