Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }