Example #1
0
        public void Update(VeiculoDto VeiculoDto)
        {
            var upd = veiculos.ToList().Where(c => c.Id == VeiculoDto.Id).FirstOrDefault();

            veiculos.Remove(upd);
            veiculos.Add(VeiculoDto);
        }
Example #2
0
        public async Task <bool> Adicionar(VeiculoDto veiculoDto)
        {
            var veiculo = _mapper.Map <Veiculo>(veiculoDto);

            if (veiculo.TipoVeiculo == TipoVeiculo.Caminhao)
            {
                veiculo.NumeroPassageiros = 2;
            }
            else
            {
                veiculo.NumeroPassageiros = 42;
            }

            if (!ExecutarValidacao(new VeiculoValidation(), veiculo))
            {
                return(false);
            }

            if (_veiculoRepository.Buscar(f => f.Chassi == veiculo.Chassi).Result.Any())
            {
                Notificar("Já existe um veículo cadastrado com este chassi informado.");
                _logger.Info($"Veículo com chassi {veiculo.Chassi} já cadastrado no sistemas.");
                return(false);
            }
            veiculo.CreateAt = DateTime.UtcNow;
            await _veiculoRepository.Adicionar(veiculo);

            return(true);
        }
Example #3
0
        public async Task <bool> Atualizar(VeiculoDto veiculoDto)
        {
            var veiculo = _mapper.Map <Veiculo>(veiculoDto);

            if (veiculo.TipoVeiculo == TipoVeiculo.Caminhao)
            {
                veiculo.NumeroPassageiros = 2;
            }
            else
            {
                veiculo.NumeroPassageiros = 42;
            }

            if (!ExecutarValidacao(new VeiculoValidation(), veiculo))
            {
                return(false);
            }

            var result = await _veiculoRepository.Buscar(f => f.Chassi == veiculoDto.Chassi);

            if (!result.Any())
            {
                Notificar("Não existe um veículo cadastrado com esse chassi.");
                _logger.Info($"Não existe um veículo cadastrado com o chassi { veiculoDto.Chassi} cadastrado no sistemas.");
                return(false);
            }
            veiculo.Id       = result.FirstOrDefault().Id;
            veiculo.UpdateAt = DateTime.UtcNow;
            await _veiculoRepository.Atualizar(veiculo);

            return(true);
        }
        public async Task <ActionResult <VeiculoDto> > Put(int id, [FromBody] VeiculoDto veiculoDto)
        {
            try
            {
                var veiculoDatabase = await veiculoService.GetById(id, GetIdUsuarioLogado());

                if (veiculoDatabase == null)
                {
                    return(NotFound());
                }

                var veiculo = mapper.Map(veiculoDto, veiculoDatabase);
                await veiculoService.Update(id, veiculo, GetIdUsuarioLogado());

                return(CreatedAtAction(nameof(Put), new { id = veiculo.Id }, veiculo));
            }
            catch (ValidationException vex)
            {
                return(BadRequest(new ErrorResponse(vex.Errors.ToListValidationFailureString())));
            }
            catch (Exception ex)
            {
                return(BadRequest(new ErrorResponse(ex.Message)));
            }
        }
Example #5
0
        public void Add(VeiculoDto veiculoDto)
        {
            // pregando o DTO e covertendo para entidade
            var veiculo = mapper.Map <Veiculo>(veiculoDto);

            serviceVeiculo.Add(veiculo); // adicionando no banco
        }
Example #6
0
        public int Atualizar(VeiculoDto entity)
        {
            Veiculo veiculo = new Veiculo();

            veiculo.PrepararDadosParaAtualizar(entity.NCodVeiculo, entity.NCodMarca, entity.NCodModelo, entity.DAno, entity.CPlaca, entity.NCodTipoVeiculo, entity.NCodTipoCombustivel, entity.CQuilometragem, entity.NCodUsuarioResp);
            return(_serviceVeiculo.Atualizar(veiculo));
        }
        public async Task <ActionResult <VeiculoDto> > Adicionar(VeiculoDto veiculoDto)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }
            await _veiculoApplicationService.Adicionar(veiculoDto);

            return(CustomResponse(veiculoDto));
        }
Example #8
0
        public async Task <ActionResult <VeiculoDto> > Atualizar([FromForm] VeiculoDto veiculoDto)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            await _veiculoService.Atualizar(veiculoDto);

            return(CustomResponse(veiculoDto));
        }
Example #9
0
        public void Put_WhenCalled_UpdateAVehicleIsValid(int id)
        {
            // Act
            var dto = new VeiculoDto
            {
                Id    = id,
                Marca = "V- Marc"
            };

            var okResult = _controller.Put(dto);

            // Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
Example #10
0
        public async Task Executar(VeiculoDto veiculoDto)
        {
            var veiculo = new Domain.Entities.Veiculo(
                veiculoDto.Nome,
                veiculoDto.Modelo,
                new Domain.ValueObjects.Localizacao(
                    veiculoDto.Localizacao.Latitude,
                    veiculoDto.Localizacao.Longitude
                    )
                );

            await context.AddAsync(veiculo);

            await context.SaveChangesAsync();
        }
        public async Task <ActionResult <VeiculoDto> > Atualizar(int id, VeiculoDto veiculoDto)
        {
            if (id != veiculoDto.Id)
            {
                NotificarErro("O id informado não é o mesmo que foi passado na query");
                return(CustomResponse(veiculoDto));
            }
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }
            await _veiculoApplicationService.Atualizar(veiculoDto);

            return(CustomResponse(veiculoDto));
        }
Example #12
0
        public void Update(VeiculoDto veiculoDto)
        {
            var veicOld = serviceVeiculo.GetById(veiculoDto.Id);

            /// dados atuais
            var veiculo = mapper.Map <Veiculo>(veiculoDto);

            if (veiculo.Placa == null)
            {
                veiculo.Placa = veicOld.Placa;
            }
            if (veiculo.Marca == null)
            {
                veiculo.Marca = veicOld.Marca;
            }
            if (veiculo.Modelo == null)
            {
                veiculo.Modelo = veicOld.Modelo;
            }

            if (veiculo.Tipo == 0)
            {
                veiculo.Tipo = veicOld.Tipo;
            }

            if (veiculo.IdVaga == 0)
            {
                veiculo.IdVaga = veicOld.IdVaga;
            }

            if (veiculo.IdEstabelecimento == 0)
            {
                veiculo.IdEstabelecimento = veicOld.IdEstabelecimento;
            }

            if (veiculo.HrEntrada == DateTime.MinValue)
            {
                veiculo.HrEntrada = veicOld.HrEntrada;
            }

            if (veicOld.HrSaida != DateTime.MinValue)
            {
                veiculo.HrSaida = veicOld.HrSaida;
            }

            serviceVeiculo.Update(veiculo);
        }
Example #13
0
        public async Task NaoDeveVincularUmVeiculoNaLinhaPoisOVeiculoNaoFoiEncontrado()
        {
            //arrange
            var veiculoNaLinhaDto = new VeiculoNaLinhasDto()
            {
                LinhaId = 1, VeiculoId = 2
            };

            var veiculoDto = new VeiculoDto()
            {
                Nome        = "Veículo 1",
                Modelo      = "Mercedes",
                Localizacao = new LocalizacaoDto()
                {
                    Latitude  = -8.771593,
                    Longitude = -63.847208
                }
            };

            var veiculo = new Domain.Entities.Veiculo(
                veiculoDto.Nome,
                veiculoDto.Modelo,
                new Domain.ValueObjects.Localizacao(
                    veiculoDto.Localizacao.Latitude,
                    veiculoDto.Localizacao.Longitude
                    )
                );

            var linha = new Domain.Entities.Linha(
                nome: "Linha 1",
                id: 1
                );

            linha.AdicionarVeiculo(veiculo);

            await context.AddAsync(veiculo);

            await context.AddAsync(linha);

            await context.SaveChangesAsync();

            //act
            await vincularVeiculo.Executar(veiculoNaLinhaDto);

            //assert
            Assert.True(vincularVeiculo.Notifications.ContainsKey("veiculo-nao-encontrado"));
        }
Example #14
0
        public async Task <VeiculoDto> PostVeiculo(VeiculoDto veiculo)
        {
            try {
                var json     = JsonConvert.SerializeObject(veiculo);
                var conteudo = new StringContent(json, Encoding.UTF8, "application/json");
                var resposta = await client.PostAsync(CRIAR_URL, conteudo);

                var respostaConteudo = await resposta.Content.ReadAsStringAsync();

                if (resposta.IsSuccessStatusCode)
                {
                    return(JsonConvert.DeserializeObject <VeiculoDto>(respostaConteudo));
                }
                return(null);
            } catch (Exception e) {
                return(null);
            }
        }
        public async Task <ActionResult <Veiculo> > Post([FromBody] VeiculoDto veiculoDto)
        {
            try
            {
                var veiculo = mapper.Map <VeiculoDto, Veiculo>(veiculoDto);
                await veiculoService.Create(veiculo, GetIdUsuarioLogado());

                return(CreatedAtAction(nameof(Post), new { id = veiculo.Id }, veiculoDto));
            }
            catch (ValidationException vex)
            {
                return(BadRequest(new ErrorResponse(vex.Errors.ToListValidationFailureString())));
            }
            catch (Exception ex)
            {
                return(BadRequest(new ErrorResponse(ex.Message)));
            }
        }
        public async Task <ActionResult> CreateVeiculo([FromBody] VeiculoDto veiculo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                var result = await _veiculoService.Add(_mapper.Map <Veiculo>(veiculo));

                string urlGetVeiculos = "/VeiculoList";
                var    resultAction   = new ResultAction("Veiculo adicionado com sucesso", true, urlGetVeiculos);
                return(Created(new Uri(urlGetVeiculos), resultAction));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Example #17
0
        public async Task DeveDesvincularUmVeiculoNaLinha()
        {
            //arrange
            var veiculoDto = new VeiculoDto()
            {
                Nome        = "Veículo 1",
                Modelo      = "Mercedes",
                Localizacao = new LocalizacaoDto()
                {
                    Latitude  = -8.771593,
                    Longitude = -63.847208
                }
            };

            var veiculo = new Domain.Entities.Veiculo(
                veiculoDto.Nome,
                veiculoDto.Modelo,
                new Domain.ValueObjects.Localizacao(
                    veiculoDto.Localizacao.Latitude,
                    veiculoDto.Localizacao.Longitude
                    )
                );

            var linha = new Domain.Entities.Linha(
                nome: "Linha 1",
                id: 1
                );

            linha.AdicionarVeiculo(veiculo);

            await context.AddAsync(veiculo);

            await context.AddAsync(linha);

            await context.SaveChangesAsync();

            //act
            await desvincularVeiculo.Executar(id : 1);

            //assert
            Assert.True(linha.Veiculos.Count == 0);
        }
Example #18
0
        public void Post_WhenCalled_AddNewVehicle()
        {
            // Act
            var dto = new VeiculoDto
            {
                Id                = 1,
                Marca             = "MarcaX",
                Modelo            = "Z-Model",
                Placa             = "ccc-3333",
                Tipo              = 1,
                IdVaga            = 558,
                IdEstabelecimento = 1,
                HrEntrada         = DateTime.Now,
                HrSaida           = DateTime.Now.AddHours(1)
            };

            var okResult = _controller.Post(dto);

            // Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
Example #19
0
        public void DeveCadastrarUmCaminha()
        {
            var chassi = Guid.NewGuid();
            var quantidadePassgeiro = 2;

            var veiculo = new VeiculoDto()
            {
                Chassi      = chassi.ToString(),
                Cor         = "amarelo",
                TipoVeiculo = Inlog.Domain.Enum.TipoVeiculo.Caminhao
            };


            var result          = _serviceMemory.Adicionar(veiculo).Result;
            var operacaoIsValid = OperacaoValida();
            var notificacao     = _notificadorMemory.ObterNotificacoes();

            var veiculoCadastrado = _serviceMemory.ObterPorChassi(chassi.ToString()).Result;

            Assert.NotNull(veiculoCadastrado);
            Assert.True(operacaoIsValid);
            Assert.Equal(chassi.ToString(), veiculoCadastrado.Chassi.ToString());
            Assert.Equal(quantidadePassgeiro, veiculoCadastrado.NumeroPassageiros);
        }
Example #20
0
        public ActionResult Post([FromBody] VeiculoDto veiculoDto)
        {
            var estabelecimento = applicationServiceEstabelecimento.GetById(veiculoDto.IdEstabelecimento);

            if (estabelecimento.Id == 0)
            {
                return(NotFound("Estabelecimento não encontrado"));
            }

            try
            {
                if (veiculoDto == null)
                {
                    return(NotFound());
                }

                applicationServiceVeiculo.Add(veiculoDto);
                return(Ok("Veiculo cadastrado com sucesso!"));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #21
0
        public ActionResult Put([FromBody] VeiculoDto veiculoDto)
        {
            if (veiculoDto.Id == 0)
            {
                return(NotFound("Veiculo inexistente"));
            }

            try
            {
                if (veiculoDto == null)
                {
                    return(NotFound());
                }

                var id = veiculoDto.Id;

                applicationServiceVeiculo.Update(veiculoDto);
                return(Ok("Veiculo atualizado com sucesso!"));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task Executar(VeiculoDto veiculoDto)
        {
            var veiculoExiste = await context.Veiculos.AnyAsync(x => x.Id == veiculoDto.Id);

            if (veiculoExiste)
            {
                var veiculo = new Domain.Entities.Veiculo(
                    veiculoDto.Nome,
                    veiculoDto.Modelo,
                    new Domain.ValueObjects.Localizacao(
                        veiculoDto.Localizacao.Latitude,
                        veiculoDto.Localizacao.Longitude
                        ),
                    id: veiculoDto.Id
                    );

                context.Update(veiculo);
                await context.SaveChangesAsync();
            }
            else
            {
                Notifications.Add("not-found", "Veículo não encontrado!");
            }
        }
Example #23
0
 public int Alterar([FromBody] VeiculoDto veiculo)
 {
     return(_appVeiculo.Atualizar(veiculo));
 }
Example #24
0
 public int Adicionar([FromBody] VeiculoDto veiculo)
 {
     return(_appVeiculo.Adicionar(veiculo));
 }
 public IList <Veiculo> FiltrarPorDataLocalidade(VeiculoDto filtro)
 {
     return(business.DisponiveisEntreDatas(filtro.DataEmprestimo, filtro.DataDevolucao, filtro.Localidade));
 }
Example #26
0
 public void Add(VeiculoDto veiculoDto)
 {
     veiculos.Add(veiculoDto);
 }
Example #27
0
        public IEnumerable <RelatorioDto> Relatorio(EstabelecimentoDto estabelecimentoDto, VeiculoDto veiculoDto)
        {
            List <RelatorioDto> listaRelatorio = new List <RelatorioDto>();
            var relatorio = new RelatorioDto
            {
                NomeEstabelecimento     = estabelecimentoDto.Nome,
                EnderecoEstabelecimento = estabelecimentoDto.Endereco,
                Placa     = veiculoDto.Placa,
                Marca     = veiculoDto.Marca,
                Modelo    = veiculoDto.Modelo,
                Tipo      = veiculoDto.Tipo,
                HrEntrada = veiculoDto.HrEntrada,
                HrSaida   = veiculoDto.HrSaida,
                IdVaga    = veiculoDto.IdVaga
            };

            listaRelatorio.Add(relatorio);
            return(listaRelatorio);
        }
Example #28
0
        public async Task <bool> Atualizar(VeiculoDto veiculoDto)
        {
            var veiculo = _mapper.Map <Veiculo>(veiculoDto);

            return(await _veiculoService.Atualizar(veiculo));
        }
Example #29
0
        public IEnumerable <RelatorioDto> Relatorio(EstabelecimentoDto estabelecimentoDto, VeiculoDto veiculoDto)
        {
            relatorio = new List <RelatorioDto>()
            {
                new RelatorioDto()
                {
                    NomeEstabelecimento     = "EstabelecimentoTxt",
                    EnderecoEstabelecimento = "Rua Rubi Vermelho, 854",
                    Placa     = "hhh-7895",
                    Marca     = "H-Marca",
                    Modelo    = "H-788",
                    Tipo      = 1,
                    IdVaga    = 448,
                    HrEntrada = DateTime.Now,
                    HrSaida   = DateTime.Now.AddHours(1)
                },
                new RelatorioDto()
                {
                    NomeEstabelecimento     = "EstabelecimentoTxT",
                    EnderecoEstabelecimento = "Rua Rubi Vermelho, 854",
                    Placa     = "kkk-2367",
                    Marca     = "K-Marca",
                    Modelo    = "K-99",
                    Tipo      = 2,
                    IdVaga    = 228,
                    HrEntrada = DateTime.Now,
                    HrSaida   = DateTime.Now.AddHours(1)
                },
                new RelatorioDto()
                {
                    NomeEstabelecimento     = "EstabelecimentoXXX",
                    EnderecoEstabelecimento = "Rua Rubi Vermelho, 154",
                    Placa     = "ppp-7895",
                    Marca     = "P-Marca",
                    Modelo    = "P-90",
                    Tipo      = 1,
                    IdVaga    = 48,
                    HrEntrada = DateTime.Now,
                    HrSaida   = DateTime.Now.AddHours(1)
                }
            };

            return(relatorio.ToList());
        }
Example #30
0
        private async void OnBtnFinalizarClicked(object sender, EventArgs e)
        {
            if (EntryConfirmarSenha.Text != EntrySenha.Text)
            {
                await DisplayAlert("Erro", MensagensErro.SENHA_CONFIRMACAO_ERRADA, "Ok");

                EntryConfirmarSenha.TextColor = Color.Red;
                EntrySenha.TextColor          = Color.Red;
                return;
            }
            UsuarioSingleton.Senha = EntrySenha.Text;
            UsuarioSingleton.Email = EntryEmail.Text;
            var apiUsuario = new RestUsuario();
            var model      = new RegistrarUsuarioViewModel()
            {
                Nome            = UsuarioSingleton.Nome,
                Funcao          = "Usuario",
                Email           = UsuarioSingleton.Email,
                Password        = UsuarioSingleton.Senha,
                ConfirmPassword = UsuarioSingleton.Senha
            };


            var resultadoUsuario = await apiUsuario.RegistrarNovoUsuario(model);

            var apiVeiculo   = new RestVeiculo();
            var modelVeiculo = new VeiculoDto()
            {
                Placa     = VeiculoSingleton.Placa,
                Cor       = VeiculoSingleton.Cor,
                Marca     = VeiculoSingleton.Marca,
                Modelo    = VeiculoSingleton.Modelo,
                UsuarioId = resultadoUsuario.Id
            };

            var resultadoVeiculo = await apiVeiculo.PostVeiculo(modelVeiculo);

            var apiLavagem = new RestLavagem();

            //TODO: Pegar a cidade dinamicamente
            var modelLavagem = new LavagemDto()
            {
                ValorEmReais       = LavagemSingleton.ValorEmReais,
                Longitude          = LavagemSingleton.Longitude,
                Latitude           = LavagemSingleton.Latitude,
                Cidade             = "Santa Cruz do Sul",
                DiaHorario         = LavagemSingleton.DiaHorario,
                Endereco           = LavagemSingleton.Endereco,
                LocalDeRecebimento = LavagemSingleton.LocalDeRecebimento,
                TipoLavagemId      = LavagemSingleton.TipoLavagemId,
                TrocoEmReais       = LavagemSingleton.TrocoEmReais,
                UsuarioId          = resultadoUsuario.Id,
                VeiculoId          = resultadoVeiculo.Id,
                StatusId           = StatusDisponiveis.AGENDADA,
                Adicionais         = LavagemSingleton.Adicionais
            };
            var resultadoLavagem = await apiLavagem.PostLavagem(modelLavagem);

            await DisplayAlert("Erro", resultadoLavagem, "Ok");


            //TODO: Melhorar essas verificações
            if (resultadoUsuario.Id != null && resultadoVeiculo.Cor != null && resultadoLavagem != null)
            {
                var resultadoLogin = await apiUsuario.Logar(new Login()
                {
                    Password = UsuarioSingleton.Senha,
                    Username = UsuarioSingleton.Email
                });

                if (resultadoLogin != null)
                {
                    var dbToken = new TokenDatabase();
                    dbToken.AddToken(resultadoLogin);
                    TokenSingleton.Token = resultadoLogin.AccessToken;
                    var page = new IndexPage();
                    Application.Current.MainPage = page;
                }
            }
            else
            {
                await DisplayAlert("Erro", resultadoLavagem, "Ok");
            }
        }