Exemple #1
0
        private static void InserirAnuncio()
        {
            //AnuncioRepositorioSQL repo = new AnuncioRepositorioSQL();
            AnuncioRepositorioRavenDB repo = new AnuncioRepositorioRavenDB();

            var veiculoId           = new Identidade();
            var detalheDeFabricacao = DetalheDeFabricacao.Novo("Ford", "Focus Titanium 2.0", 2015, 2016);
            var opcionais           = ItensOpcicionais.Novo("Ar Condicionado, Vidros Elétricos, Travas Elétricas, Teto Solar, Farois de Neblina, Farois de Milha");
            var detalheDoVeiculo    = DetalheDoVeiculo.Novo("ABC-1234", 10000, TipoDoCambio.Automatico,
                                                            TipoDaCarroceria.Hatch, Cor.Branco, TipoDeCombustivel.Flex, 4, 65000);
            var veiculo = new Veiculo(veiculoId, detalheDeFabricacao, opcionais, detalheDoVeiculo);

            var vigencia = Periodo.Novo(DateTime.Now, DateTime.Now.AddDays(10));

            var anuncioId    = new Identidade();
            var anuncianteId = new Identidade("86e080bc-e2a4-4328-948a-04db8ee95d2e");

            var anuncio = new Anuncio(anuncioId, anuncianteId, vigencia, veiculo);

            repo.Salvar(anuncio);

            var anuncianteResult = repo.ObterPorId(anuncioId);

            Console.WriteLine(anuncianteResult.Veiculo.Detalhe.Cor);
            Console.WriteLine(anuncianteResult.Veiculo.Detalhe.Combustivel);
            Console.WriteLine(anuncianteResult.Veiculo.Detalhe.Cambio);
            Console.WriteLine(anuncianteResult.Veiculo.Opcionais.Itens);
        }
        public void SalvarUmNovoAnuncioTest()
        {
            var identidadeDoAnuncio = Guid.NewGuid();
            var idAnunciante        = Guid.Parse("B2490150-D8A8-4F5F-89AB-A4EB28622BA4");
            var periodo             = Periodo.Novo(DateTime.Now, DateTime.Now.AddDays(10));

            var identidadeDoVeiculo = Guid.NewGuid();
            var detalheDeFabricacao = DetalheDeFabricacao.Novo("Honda", "Civic", 2010, 2010);
            var opcionais           = ItensOpcicionais.Novo("trava, vidro,alarme, airbag,kit multimidia,ABS");


            var detalheDoVeiculo = DetalheDoVeiculo.Novo
                                   (
                "ABC1234",
                50000,
                TipoDoCambio.Automatico,
                TipoDaCarroceria.Sedan,
                Cor.Branco,
                TipoDeCombustivel.Flex,
                4,
                30.500m);


            var veiculo = new Veiculo(identidadeDoAnuncio, detalheDeFabricacao, opcionais, detalheDoVeiculo);

            var novoAnuncio = new Anuncio(identidadeDoAnuncio, idAnunciante, periodo, veiculo);

            var iqual = novoAnuncio == veiculo;

            _repositorio.Salvar(novoAnuncio);
        }
Exemple #3
0
        public void InserirAnuncioTest()
        {
            var veiculoId           = new Identidade();
            var detalheDeFabricacao = DetalheDeFabricacao.Novo("Ford", "Focus Titanium 2.0", 2015, 2016);
            var opcionais           = ItensOpcicionais.Novo("Ar Condicionado, Vidros Elétricos, Travas Elétricas, Teto Solar, Farois de Neblina, Farois de Milha");
            var detalheDoVeiculo    = DetalheDoVeiculo.Novo("ABC-1234", 10000, TipoDoCambio.Automatico,
                                                            TipoDaCarroceria.Hatch, Cor.Branco, TipoDeCombustivel.Flex, 4, 65000);
            var veiculo = new Veiculo(veiculoId, detalheDeFabricacao, opcionais, detalheDoVeiculo);

            var vigencia = Periodo.Novo(DateTime.Now, DateTime.Now.AddDays(10));

            var anuncioId    = new Identidade();
            var anuncianteId = new Identidade("B2490150-D8A8-4F5F-89AB-A4EB28622BA4");

            var anuncio = new Anuncio(anuncioId, anuncianteId, vigencia, veiculo);

            _repositorio.Salvar(anuncio);

            var anuncianteResult = _repositorio.ObterPorId(anuncioId);

            Console.WriteLine(anuncianteResult.Veiculo.Detalhe.Cor);
            Console.WriteLine(anuncianteResult.Veiculo.Detalhe.Combustivel);
            Console.WriteLine(anuncianteResult.Veiculo.Detalhe.Cambio);
            Console.WriteLine(anuncianteResult.Veiculo.Opcionais.Itens);
        }
Exemple #4
0
        public Veiculo(Identidade id, DetalheDeFabricacao detalheDeFabricacao,
            ItensOpcicionais opcionais, DetalheDoVeiculo detalhe) : base(id)
        {
            if (detalheDeFabricacao == null)
                throw new InvalidOperationException("O Detalhe de Fabricação é obrigatório");

            if (detalhe == null)
                throw new InvalidOperationException("O Detalhe do Veículo é obrigatório");

            DetalheDeFabricacao = detalheDeFabricacao;
            Opcionais = opcionais;
            Detalhe = detalhe;
        }
Exemple #5
0
 public virtual void AlterarKilometragem(int novaKilometragem)
 {
     Detalhe = DetalheDoVeiculo.Novo(Detalhe.Placa, novaKilometragem,
                                     Detalhe.Cambio, Detalhe.Carroceria, Detalhe.Cor, Detalhe.Combustivel,
                                     Detalhe.Portas, Detalhe.Preco);
 }
Exemple #6
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);
                }
            }
        }