public Anunciante ObterPorId(Identidade id) { using (SqlConnection cn = new SqlConnection(StringDeConexao)) { var select = @" SELECT [AnuncianteId] ,[Nome] ,[Sobrenome] ,[Logradouro] ,[Bairro] ,[Cidade] ,[Estado] ,[Cep] ,[Email] ,[DDDTelefonePrincipal] ,[TelefonePrincipal] ,[DDDTelefoneComercial] ,[TelefoneComercial] ,[DDDCelular] ,[Celular] FROM [dbo].[Anunciante] WHERE AnuncianteId = @id "; var result = cn.QueryFirstOrDefault(select, new { id = id.ToString() }); if (result == null) { return(null); } var nome = Nome.Novo(result.Nome, result.Sobrenome); var endereco = Endereco.Novo(result.Logradouro, result.Bairro, result.Cidade, result.Estado, result.Cep); var email = Email.Novo(result.Email); var contatos = AgendaTelefonica.Nova( Telefone.Novo(result.DDDTelefonePrincipal, result.TelefonePrincipal), Telefone.Novo(result.DDDTelefoneComercial, result.TelefoneComercial), Telefone.Novo(result.DDDCelular, result.Celular)); Anunciante anunciante = new Anunciante(new Identidade(Guid.Parse(result.AnuncianteId.ToString())), nome, endereco, email, contatos); return(anunciante); } }
public Anuncio ObterPorId(Identidade id) { using (SqlConnection cn = new SqlConnection(StringDeConexao)) { var select = @" SELECT [AnuncioId] ,[AnuncianteId] ,[DataDePublicacao] ,[PeriodoInicio] ,[PeriodoFinal] FROM [SeuCarroNaVitrine].[dbo].[Anuncio] WHERE AnuncioId = @id SELECT [VeiculoId] ,[Marca] ,[Modelo] ,[AnoFabricacao] ,[AnoModelo] ,[Placa] ,[Kilometragem] ,[Portas] ,[Cambio] ,[Carroceria] ,[Cor] ,[Combustivel] ,[Preco] ,[StatusDePublicacao] ,[Opcionais] FROM [SeuCarroNaVitrine].[dbo].[Veiculo] WHERE VeiculoId = @id "; using (var result = cn.QueryMultiple(select, new { id = id.ToString() })) { var anuncioDyn = result.ReadSingleOrDefault(); var veiculoDyn = result.ReadSingleOrDefault(); var anuncioId = new Identidade(Guid.Parse(anuncioDyn.AnuncioId.ToString())); var anuncianteId = new Identidade(Guid.Parse(anuncioDyn.AnuncianteId.ToString())); var veiculoId = new Identidade(Guid.Parse(veiculoDyn.VeiculoId.ToString())); var vigencia = Periodo.Novo(anuncioDyn.PeriodoInicio, anuncioDyn.PeriodoFinal); var detalheDoVeiculo = DetalheDoVeiculo.Novo(veiculoDyn.Placa.ToString(), (int)veiculoDyn.Kilometragem, Enumeration.FromDisplayName <TipoDoCambio>(veiculoDyn.Cambio.ToString()), Enumeration.FromDisplayName <TipoDaCarroceria>(veiculoDyn.Carroceria.ToString()), Enumeration.FromDisplayName <Cor>(veiculoDyn.Cor.ToString()), Enumeration.FromDisplayName <TipoDeCombustivel>(veiculoDyn.Combustivel.ToString()), (int)veiculoDyn.Portas, (decimal)veiculoDyn.Preco); var detalheDeFabricacao = DetalheDeFabricacao.Novo(veiculoDyn.Marca, veiculoDyn.Modelo, veiculoDyn.AnoFabricacao, veiculoDyn.AnoModelo); var opcionais = ItensOpcicionais.Novo(veiculoDyn.Opcionais); var veiculo = new Veiculo(veiculoId, detalheDeFabricacao, opcionais, detalheDoVeiculo); var anuncio = new Anuncio(anuncioId, anuncianteId, vigencia, veiculo); return(anuncio); } } }