public void SeConsultarOTamanhoMinimoDeUmaPropriedadeQueNaoPossuiOAtributoDeveTrazerZero() { var propriedade = typeof(ObjetoDeTestes).GetProperty("Codigo"); DataAnnotationHelper.ConsultarTamanhoMinimo(propriedade) .Should().Be(0); }
public void SeConsultarOTamanhoMinimoDeUmaPropriedadeDeveTrazerValorCorreto() { var propriedade = typeof(ObjetoDeTestes).GetProperty("Nome"); DataAnnotationHelper.ConsultarTamanhoMinimo(propriedade) .Should().Be(5); }
public static ItemDicionario CriarItemDicionario(int id, PropertyInfo propriedade, PropertyInfo propriedadeReferenciada = null) { if (propriedadeReferenciada == null) { propriedadeReferenciada = propriedade; } var coluna = DataAnnotationHelper.ConsultarColuna(propriedadeReferenciada); var alias = propriedade.Name; var nome = ((coluna == null) || (string.IsNullOrEmpty(coluna.Nome))) ? propriedadeReferenciada.Name : coluna.Nome; if (string.Equals(nome, alias)) { alias = null; } var nullable = TipoColunaNullable(propriedade); var campo = new ItemDicionario( id: id, alias: alias, nome: nome, tipoBanco: (coluna == null) ? DbType.Object : ConverterSqlDbTypeParaDbType(EnumHelper.FromString <SqlDbType>(coluna.NomeDoTipo ?? "Variant")), tipoLocal: (nullable) ? ConsultarTipoDaColunaNullable(propriedade) : propriedade.PropertyType, chave: DataAnnotationHelper.ChavePrimaria(propriedadeReferenciada), obrigatorio: DataAnnotationHelper.Obrigatorio(propriedadeReferenciada), tamanhoMinimo: DataAnnotationHelper.ConsultarTamanhoMinimo(propriedadeReferenciada), tamanhoMaximo: DataAnnotationHelper.ConsultarTamanhoMaximo(propriedadeReferenciada), ordem: (coluna == null) ? 0 : coluna.Ordem, opcaoGeracao: DataAnnotationHelper.ConsultarOpcaoGeracao(propriedadeReferenciada), valorPadrao: DataAnnotationHelper.ConsultarValorPadrao(propriedadeReferenciada), mapeado: DataAnnotationHelper.Mapeado(propriedade), propriedade: propriedade, validacoes: ConsultarValidacoes(propriedade, propriedadeReferenciada), ligacao: CriarLigacaoEntreModels(propriedade, propriedadeReferenciada) ); if (nullable && campo.Obrigatorio) { throw new CampoNullableInvalidoException(); } return(campo); }