private void ValidarItensMistoDoDicionarioNaoMapeados(Dicionario dicionario) { dicionario.ConsultarPorCampo("EstadoEntidade").Should().BeNull(); dicionario.ConsultarPorPropriedade("EstadoEntidade").Should().BeNull(); dicionario.ConsultarPorCampo("AliasFilhos").Should().NotBeNull(); dicionario.ConsultarPorPropriedade("AliasFilhos").Should().NotBeNull(); }
private void ValidarItensMistoDoDicionarioComValidadores(Dicionario dicionario) { var campoCodigo = dicionario.ConsultarPorPropriedade("AliasCodigo"); campoCodigo.Should().NotBeNull(); campoCodigo.Validacoes.Should().BeNull(); var campoNome = dicionario.ConsultarPorPropriedade("AliasNome"); campoNome.Should().NotBeNull(); campoNome.Validacoes.Should().NotBeNull(); campoNome.Validacoes.Count.Should().Be(2); }
public void SeConsultarPorUmaPropriedadeInexistenteDeveRetornarNulo() { var dicionario = new Dicionario(typeof(ObjetoDeTestes)); dicionario.ConsultarPorPropriedade("NomeDaPropriedadeInexistenteNoObjeto") .Should().BeNull(); }
public void AplicarChaveAscendente(object[] chaveAscendente, object objeto) { for (var n = 0; n < ChaveEstrangeira.Length; n++) { var campo = Dicionario.ConsultarPorPropriedade(ChaveEstrangeira[n]); campo.Propriedade.SetValue(objeto, chaveAscendente[n], null); } }
private IList <object> CarregarRelacionamentoVinculado(TiposRelacionamento tipo, Configurador <TObjeto> configurador, PropertyInfo propriedade) { var item = _dicionario.ConsultarPorPropriedade(propriedade.Name); configurador.Preparar(); var scriptPadrao = configurador.ConsultarScript(); if (item.Ligacao == null) { throw new NaoFoiPossivelEncontrarALigacaoEntreOsCamposException(); } var scriptPersonalizado = (tipo == TiposRelacionamento.Ascendente) ? _relacionamentoBuilder.CriarScriptConsultaRelacionamentoAscendente(item.Ligacao, scriptPadrao) : _relacionamentoBuilder.CriarScriptConsultaRelacionamentoDescendente(item.Ligacao, scriptPadrao, _dicionario.ConsultarCamposChave()); configurador.PersonalizarScript(scriptPersonalizado); IDataReader reader; try { reader = _comando.ConsultarRegistro(configurador); } catch (Exception ex) { throw new NaoFoiPossivelConsultarRelacionamentoVinculadoDevidoAoSeguinteErroException(_dicionario.AliasOuNome, tipo.ToString(), item.Ligacao.Dicionario.AliasOuNome, ex.Message); } var tipoModel = (tipo == TiposRelacionamento.Ascendente) ? propriedade.PropertyType : propriedade.PropertyType.GetGenericArguments()[0]; try { return(Conversor.ConverterDataReaderParaObjeto(tipoModel, reader).Cast <object>().ToList()); } finally { reader.Close(); } }
public bool PossuiChaveAscendente(object[] chaveAscendente, object objeto) { var n = 0; for (n = 0; n < ChaveEstrangeira.Length; n++) { var campo = Dicionario.ConsultarPorPropriedade(ChaveEstrangeira[n]); var valor = campo.Propriedade.GetValue(objeto, null); if (!Equals(chaveAscendente[n], valor)) { return(false); } } return(n > 0); }
public void SeSincronizarValoresDePropriedadesEnumSemDefaultValueOEnumQueDeveSerSincronizado() { var comando = new SqlCommand(); var dicionario = new Dicionario(typeof(NetoDoObjetoDeTestes)); CommandBuilder.DefinirParametrosParaTodosOsCampos(dicionario, comando); var objeto = new NetoDoObjetoDeTestes() { CodigoFilho = 123, NomeNeto = "ABC", Letra = EnumDeStrings.SemOpcao }; CommandBuilder.SincronizarParametrosDeTodosOsCampos(dicionario, comando, objeto); var campo = dicionario.ConsultarPorPropriedade("Letra"); comando.Parameters["@p" + campo.Id.ToString()].Value .Should() .Be("SemOpcao"); }