Пример #1
0
        public void SalvarUmNovoAnuncioTest()
        {
            var identidadeDoAnuncio = new Identidade();
            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);
        }
Пример #2
0
        public Anunciante(Identidade id, Nome nome, Endereco endereco, Email email,
                          AgendaTelefonica agendaTelefonica) : base(id)
        {
            if (nome == null)
            {
                throw new InvalidOperationException("O Nome do proprietário é obrigatório");
            }

            if (endereco == null)
            {
                throw new InvalidOperationException("O Endereço do proprietário é obrigatório");
            }

            if (email == null)
            {
                throw new InvalidOperationException("O Email do proprietário é obrigatório");
            }

            if (agendaTelefonica == null)
            {
                throw new InvalidOperationException("A Agenda Telefônica do proprietário é obrigatória");
            }

            Nome             = nome;
            Email            = email;
            Endereco         = endereco;
            AgendaTelefonica = agendaTelefonica;
        }
        public Principal CriarIdentidadePrincipal(Token token)
        {
            var identidade = new Identidade(token);
            var principal  = new Principal(identidade);

            return(principal);
        }
        public Principal CriarIdentidadePrincipalVazia()
        {
            var identidade = new Identidade();
            var principal  = new Principal(identidade);

            return(principal);
        }
Пример #5
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);
        }
Пример #6
0
        public ActionResult CabecalhoColaborador(int?cicloAvaliacaoSelecionadoID, int?colaboradorID = null, bool?administrador = null, bool?isRelatorio = null)
        {
            Identidade identidade;

            if (!colaboradorID.HasValue)
            {
                identidade = new Identidade();
            }
            else
            {
                identidade = new Identidade(colaboradorID.Value);
            }

            CabecalhoColaboradorViewModel model =
                Mapper.Map <Identidade, CabecalhoColaboradorViewModel>(identidade);

            model.CicloAvaliacaoDescricao = new CicloAvaliacaoDAO().Obter(cicloAvaliacaoSelecionadoID.Value).Descricao;

            model.CicloAvaliacaoID = cicloAvaliacaoSelecionadoID;

            model.IsRelatorio = isRelatorio;

            if (administrador.HasValue)
            {
                ViewBag.Administrador = administrador.Value;
            }

            return(PartialView("~/Views/Avaliacoes/CabecalhoColaborador.cshtml", model));
        }
Пример #7
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);
        }
Пример #8
0
 public Colaborador(IList <CompetenciaColaborador> competencias, Id id, Identidade identificacao, string biografia)
 {
     _competencias = competencias;
     Id            = id;
     Identificacao = identificacao;
     Biografia     = biografia;
     _competencias = new List <CompetenciaColaborador>();
 }
Пример #9
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;
        }
Пример #10
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);
            }
        }
Пример #11
0
 public void AdicionarIdentidade(Identidade identidade)
 {
     try
     {
         if (identidade != null)
         {
             if (identidade.Id == 0)
             {
                 _context.Identidade.Add(identidade);
             }
             _context.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Пример #12
0
 public void ApagarIdentidade(Identidade identidade)
 {
     try
     {
         if (identidade != null)
         {
             if (identidade.Id != 0)
             {
                 _context.Identidade.Remove(identidade);
                 _context.SaveChanges();
             }
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Пример #13
0
        public Anuncio(Identidade id, Identidade anuncianteId, Periodo vigencia,
                       Veiculo veiculo) : base(id)
        {
            if (vigencia == null)
            {
                throw new InvalidOperationException("A Vigência é obrigatória");
            }

            if (veiculo == null)
            {
                throw new InvalidOperationException("O Veículo é obrigatório");
            }

            AnuncianteId     = anuncianteId;
            DataDePublicacao = DateTime.Now;
            Vigencia         = vigencia;
            Veiculo          = veiculo;
        }
Пример #14
0
        public ActionResult SelecaoCicloAvaliacao(int?cicloAvaliacaoSelecionadoID)
        {
            var identidade = new Identidade();

            SelecaoCicloAvaliacaoViewModel model = new SelecaoCicloAvaliacaoViewModel();

            model.CiclosAvaliacao
                = Mapper.Map <List <CicloAvaliacao>,
                              List <SelectListItem> >(new CicloAvaliacaoDAO().ListarCiclosDisponiveis(identidade.CargoRubiID.Value,
                                                                                                      identidade.AreaRubiID.Value,
                                                                                                      identidade.SetorRubiID.Value,
                                                                                                      identidade.UsuarioRubiID.Value));

            if (cicloAvaliacaoSelecionadoID.HasValue)
            {
                model.CicloAvaliacaoSelecionadoID = cicloAvaliacaoSelecionadoID.Value;
            }

            return(PartialView(model));
        }
        public Guid InserirAnunciante()
        {
            var nome     = Nome.Novo("José Roberto", "Araújo");
            var endereco = Endereco.Novo("Rua do Paraíso", "Saúde", "São Paulo", "SP", 04123010);
            var email    = Email.Novo("*****@*****.**");
            var contatos = AgendaTelefonica.Nova(Telefone.Novo(11, "123456789"),
                                                 Telefone.Novo(11, "123456789"), Telefone.Novo(11, "123456789"));

            var id = new Identidade();

            var anunciante = new Anunciante(id, nome, endereco, email, contatos);

            _repositorio.Salvar(anunciante);

            var anuncianteResult = _repositorio.ObterPorId(id);

            Console.WriteLine(anuncianteResult.Nome);

            return(id.Id);
        }
Пример #16
0
        public void PersistirUmNovoAnuncianteTest()
        {
            var identidade       = new Identidade();
            var nome             = Nome.Novo("Gustavo", "Fontes");
            var endereco         = Endereco.Novo("Av. paulista", "Jardins", "São Paulo", "SP", 012345678);
            var email            = Email.Novo("*****@*****.**");
            var agendaTelefonica = AgendaTelefonica
                                   .Nova(
                Telefone.Novo(11, "12345678"),
                Telefone.Novo(11, "12345678"),
                Telefone.Novo(11, "123456789")
                );

            var novoAnunciante = new Anunciante(identidade, nome, endereco, email, agendaTelefonica);

            _repositorio.Salvar(novoAnunciante);

            var anunciante = _repositorio.ObterPor(identidade);

            anunciante.Should().NotBeNull();
        }
Пример #17
0
        public Proposta(Identidade id, Identidade anuncioId, Nome nome, Email email, Telefone telefone,
                        decimal valor, string mensagem) : base(id)
        {
            if (valor == default(decimal))
            {
                throw new InvalidOperationException("O Valor da Proposta é obrigatório");
            }

            if (string.IsNullOrWhiteSpace(mensagem))
            {
                throw new InvalidOperationException("Informe algum detalhe na proposta");
            }

            if (nome == null)
            {
                throw new InvalidOperationException("O Nome é obrigatório");
            }

            if (telefone == null)
            {
                throw new InvalidOperationException("O Telefone é obrigatório");
            }

            if (email == null)
            {
                throw new InvalidOperationException("O Email é obrigatório");
            }

            AnuncioId   = anuncioId;
            DataDeEnvio = DateTime.Now;
            Nome        = nome;
            Email       = email;
            Telefone    = telefone;
            Valor       = valor;
            Mensagem    = mensagem;
        }
Пример #18
0
 public T ObterPor(Identidade id)
 {
     return(_session.Load <T>(id.Id));
 }
Пример #19
0
 public Agregado(Identidade id) : base(id)
 {
 }
Пример #20
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);
                }
            }
        }