Пример #1
0
        public void AlterarMotoristaSemCamposObrigatorios()
        {
            var motoristaViewModelNovo = new MotoristaViewModel();
            var motoristaNovo          = new Motorista();

            var mockMotoristaBusiness = new Mock <IMotoristaBusiness>();

            mockMotoristaBusiness.Setup(x => x.Alterar(motoristaNovo)).Returns(() => Task.FromResult(false));

            var mapperMock = new Mock <IMapper>();

            mapperMock.Setup(m => m.Map <MotoristaViewModel, Motorista>(motoristaViewModelNovo)).Returns(() => motoristaNovo);

            var motoristaController = new MotoristaController(mockMotoristaBusiness.Object, mapperMock.Object);

            motoristaController.ModelState.AddModelError("error", "error");

            var result = motoristaController.Alterar(motoristaViewModelNovo);

            result.Wait();

            var badRequestResult = result.Result as BadRequestObjectResult;

            badRequestResult.StatusCode.Should().Be(400, "Resultado incorreto ao alterar motorista com model inválida");
        }
Пример #2
0
        public ActionResult Atualizar(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var motoristaBusca = _motoristaRepositorio.ObterMotoristaPorId(id.Value);

            if (motoristaBusca == null)
            {
                return(RegistroNaoEncontrado());
            }

            if (motoristaBusca.TransportadoraId != User.ObterTransportadoraId())
            {
                return(RedirectToAction(nameof(Index)));
            }

            var viewModel = new MotoristaViewModel
            {
                Id              = motoristaBusca.Id,
                Nome            = motoristaBusca.Nome,
                CNH             = motoristaBusca.CNH,
                ValidadeCNH     = motoristaBusca.ValidadeCNH,
                RG              = motoristaBusca.RG,
                CPF             = motoristaBusca.CPF,
                Celular         = motoristaBusca.Celular,
                Nextel          = motoristaBusca.Nextel,
                MOP             = motoristaBusca.MOP,
                UltimaAlteracao = motoristaBusca.UltimaAlteracao.DataHoraFormatada()
            };

            return(View(viewModel));
        }
        public ActionResult Details(long?id)
        {
            string email     = HttpContext.GetOwinContext().Authentication.User.Identity.Name;
            long?  idCliente = (long?)long.Parse(Gerenciador.FindByEmail(email).Id);

            if (id != null)
            {
                Motorista motorista = MotoristaService.ObterMotoristaPorId(id);

                if (motorista != null)
                {
                    if (motorista.ClienteId != idCliente)
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized));
                    }

                    MotoristaViewModel motoristaView = new MotoristaViewModel()
                    {
                        Motorista = motorista
                    };

                    return(View(motoristaView));
                }
            }
            return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
        }
        public async Task <IActionResult> Alterar([FromBody] MotoristaViewModel motorista)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var motoristaAtualizacao = mapper.Map <MotoristaViewModel, Motorista>(motorista);

                    var motoristaAlterado = await motoristaBusiness.Alterar(motoristaAtualizacao);

                    if (motoristaAlterado)
                    {
                        var motoristaVm = mapper.Map <Motorista, MotoristaViewModel>(motoristaAtualizacao);

                        return(Ok(motoristaVm));
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch
            {
                return(BadRequest("Ocorreu um erro ao salvar o motorista"));
            }
        }
Пример #5
0
        public ActionResult Alterar([FromBody] MotoristaViewModel motorista)
        {
            try {
                if (ModelState.IsValid)
                {
                    bool motoristaExiste = obterMotorista.Execute(motorista.Id) != null;

                    if (motoristaExiste)
                    {
                        atualizarMotorista.Execute(motorista);

                        return(Ok());
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex) {
                new TelemetryClient().TrackException(ex);

                string mensagem = $"Ocorreu um erro ao salvar o motorista";

                return(BadRequest(mensagem));
            }
        }
Пример #6
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Nome")] MotoristaViewModel motorista)
        {
            if (id != motorista.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var result = _mapper.Map <Motorista>(motorista);
                    await _motoristaService.UpdateAsync(result);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MotoristaExists(motorista.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(motorista));
        }
 private void PreencherIdCarro(MotoristaViewModel motoristaViewModel)
 {
     if (motoristaViewModel.IdCarro > 0)
     {
         motoristaViewModel.IdCarro = obterCarroQuery.Execute(motoristaViewModel.IdCarro).Id;
     }
 }
Пример #8
0
        public ActionResult Atualizar([Bind(Include = "Id, Nome, CNH, ValidadeCNH, RG, CPF, Celular, Nextel, MOP")] MotoristaViewModel viewModel, int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var motoristaBusca = _motoristaRepositorio.ObterMotoristaPorId(id.Value);

            if (motoristaBusca == null)
            {
                return(RegistroNaoEncontrado());
            }

            motoristaBusca.Alterar(new Motorista(
                                       User.ObterTransportadoraId(),
                                       viewModel.Nome,
                                       viewModel.CNH,
                                       viewModel.ValidadeCNH,
                                       viewModel.RG,
                                       viewModel.CPF,
                                       viewModel.Celular,
                                       viewModel.Nextel,
                                       viewModel.MOP));

            var motoristaComCNH = _motoristaRepositorio.ObterMotoristaPorCNH(viewModel.CNH, User.ObterTransportadoraId());

            if (motoristaComCNH != null)
            {
                if (motoristaComCNH.Id != motoristaBusca.Id)
                {
                    ModelState.AddModelError(string.Empty, $"Já existe um outro motorista cadastrado com a CNH {viewModel.CNH}");

                    return(View(viewModel));
                }
            }

            var motoristaComCPF = _motoristaRepositorio.ObterMotoristaPorCPF(viewModel.CPF, User.ObterTransportadoraId());

            if (motoristaComCPF != null)
            {
                if (motoristaComCPF.Id != motoristaBusca.Id)
                {
                    ModelState.AddModelError(string.Empty, $"Já existe um outro motorista cadastrado com o CPF {viewModel.CPF}");

                    return(View(viewModel));
                }
            }

            if (Validar(motoristaBusca))
            {
                _motoristaRepositorio.Atualizar(motoristaBusca);
                TempData["Sucesso"] = true;
            }

            return(View(viewModel));
        }
Пример #9
0
        public void Execute(MotoristaViewModel motoristaViewModel)
        {
            var motorista = mapper.Map <MotoristaViewModel, MotoristaModel>(motoristaViewModel);

            PreencherCarro(motorista);

            motoristaRepository.Atualizar(motorista);
            motoristaRepository.SalvarAlteracoes();
        }
        private async Task PreencherCoordenadasEndereco(MotoristaViewModel motoristaViewModel)
        {
            Endereco endereco = mapper.Map <EnderecoViewModel, Endereco>(motoristaViewModel.Endereco);

            GeolocationResult.Localizacao localizacao = await obterCoordenadasQuery.Execute(endereco);

            motoristaViewModel.Endereco.Latitude  = localizacao.Latitude.ToString();
            motoristaViewModel.Endereco.Longitude = localizacao.Longitude.ToString();
        }
Пример #11
0
        public async Task <IActionResult> Create([Bind("ID,Nome")] MotoristaViewModel motorista)
        {
            if (ModelState.IsValid)
            {
                var result = _mapper.Map <Motorista>(motorista);
                await _motoristaService.AddAsync(result);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(motorista));
        }
        public async Task Execute(MotoristaViewModel motoristaViewModel)
        {
            PreencherIdCarro(motoristaViewModel);

            await PreencherCoordenadasEndereco(motoristaViewModel);

            MotoristaModel motorista = mapper.Map <MotoristaViewModel, MotoristaModel>(motoristaViewModel);

            motoristaRepository.Adicionar(motorista);
            motoristaRepository.SalvarAlteracoes();
        }
Пример #13
0
        // GET: Motoristas/Details/5
        public async Task <IActionResult> Details(Guid id)
        {
            MotoristaViewModel motoristaViewModel = await ObterMotoristaPorId(id);

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

            return(View(motoristaViewModel));
        }
Пример #14
0
        public async Task <IActionResult> Create(MotoristaViewModel motoristaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(motoristaViewModel));
            }

            var motorista = _mapper.Map <Motorista>(motoristaViewModel);
            await _motoristaRepository.Adicionar(motorista);

            return(RedirectToAction(nameof(Index)));
        }
Пример #15
0
        public ActionResult EditarMotoristaViagem(MotoristaViewModel motoristaViewModel)
        {
            var mv = new MotoristaViagemViewModel()
            {
                MotoristaId = motoristaViewModel.Id,
                ViagemId    = motoristaViewModel.ViagemId
            };

            _motoristaViagemRepository.AdicionaMotoristaViagem(_mapper.Map <MotoristaViagem>(mv));

            return(View("index"));
        }
Пример #16
0
 public IHttpActionResult Atualizar(MotoristaViewModel motorista)
 {
     try
     {
         _motoristaApp.Update(motorista, motorista.cnh);
         return(Ok());
     }
     catch
     {
         return(InternalServerError());
     }
 }
Пример #17
0
 public IHttpActionResult Cadastrar(MotoristaViewModel motorista)
 {
     try
     {
         _motoristaApp.Add(motorista);
         return(Ok());
     }
     catch (Exception e)
     {
         return(InternalServerError(e));
     }
 }
Пример #18
0
        public async Task <IActionResult> Adicionar(MotoristaViewModel motoristaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            await _motoristaRepository.Adicionar(_mapper.Map <Motorista>(motoristaViewModel));

            var _motoristaViewModel = _mapper.Map <IEnumerable <MotoristaViewModel> >(await _motoristaRepository.ObterTodos());

            return(View("Index", _motoristaViewModel));
        }
Пример #19
0
        public async Task <IActionResult> Post(MotoristaViewModel model)
        {
            try
            {
                var db = _fact.Connection().GetDatabase();
                await db.HashSetAsync(Constants.KEY_MOTORISTA_LOGADO, model.Codigo.ToString(), JsonConvert.SerializeObject(model));

                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode((int)System.Net.HttpStatusCode.InternalServerError, ex));
            }
        }
Пример #20
0
        public async Task <IActionResult> Edit(Guid id, MotoristaViewModel motoristaViewModel)
        {
            if (id != motoristaViewModel.Id)
            {
                return(NotFound());
            }


            if (!ModelState.IsValid)
            {
                return(View(motoristaViewModel));
            }

            await _motoristaRepository.Atualizar(_mapper.Map <Motorista>(motoristaViewModel));

            return(RedirectToAction(nameof(Index)));
        }
Пример #21
0
        public ActionResult Cadastrar([Bind(Include = "Nome, CNH, ValidadeCNH, RG, CPF, Celular, Nextel, MOP")] MotoristaViewModel viewModel)
        {
            var motorista = new Motorista(
                User.ObterTransportadoraId(),
                viewModel.Nome,
                viewModel.CNH,
                viewModel.ValidadeCNH,
                viewModel.RG,
                viewModel.CPF,
                viewModel.Celular,
                viewModel.Nextel,
                viewModel.MOP);

            try
            {
                var motoristaComCNH = _motoristaRepositorio.ObterMotoristaPorCNH(viewModel.CNH, User.ObterTransportadoraId());

                if (motoristaComCNH != null)
                {
                    return(RetornarErro($"Já existe um outro motorista cadastrado com a CNH {viewModel.CNH}"));
                }

                var motoristaComCPF = _motoristaRepositorio.ObterMotoristaPorCPF(viewModel.CPF, User.ObterTransportadoraId());

                if (motoristaComCPF != null)
                {
                    return(RetornarErro($"Já existe um outro motorista cadastrado com o CPF {viewModel.CPF}"));
                }

                if (!Validar(motorista))
                {
                    return(RetornarErros());
                }

                _motoristaRepositorio.Cadastrar(motorista);
            }
            catch (Exception ex)
            {
                return(RetornarErro(ex.Message));
            }

            return(new HttpStatusCodeResult(HttpStatusCode.NoContent));
        }
Пример #22
0
        public async Task <ActionResult <Motorista> > Put(Guid id, [FromBody] MotoristaViewModel motorista)
        {
            var motoristaUpdade = new Motorista
                                      (id,
                                      motorista.Nome,
                                      motorista.Idade,
                                      motorista.Sexo,
                                      motorista.PossuiVeiculo,
                                      motorista.CNH,
                                      new Veiculo(motorista.veiculo.Carregado,
                                                  motorista.veiculo.TipoVeiculo,
                                                  motorista.veiculo.Placa)
                                      , motorista.CargaParaVoltaDestino);

            _motoristaRepository.Update(motoristaUpdade);

            await _uow.Commit();

            return(Ok(await _motoristaRepository.GetById(id)));
        }
Пример #23
0
        public void AlterarMotorista()
        {
            var motoristaViewModelNovo = new MotoristaViewModel();
            var motoristaNovo          = new Motorista();

            var mockMotoristaBusiness = new Mock <IMotoristaBusiness>();

            mockMotoristaBusiness.Setup(x => x.Alterar(motoristaNovo)).Returns(() => Task.FromResult(true));

            var mapperMock = new Mock <IMapper>();

            mapperMock.Setup(m => m.Map <MotoristaViewModel, Motorista>(motoristaViewModelNovo)).Returns(() => motoristaNovo);

            var result = new MotoristaController(mockMotoristaBusiness.Object, mapperMock.Object).Alterar(motoristaViewModelNovo);

            result.Wait();

            var createdResult = result.Result as OkObjectResult;

            createdResult.StatusCode.Should().Be(200, "Resultado incorreto ao alterar motorista");
        }
Пример #24
0
        public void AlterarMotoristaQueNaoExiste()
        {
            var motoristaViewModelNovo = new MotoristaViewModel();
            var motoristaNovo          = new Motorista();

            var mockMotoristaBusiness = new Mock <IMotoristaBusiness>();

            mockMotoristaBusiness.Setup(x => x.Alterar(motoristaNovo)).Returns(() => Task.FromResult(false));

            var mapperMock = new Mock <IMapper>();

            mapperMock.Setup(m => m.Map <MotoristaViewModel, Motorista>(motoristaViewModelNovo)).Returns(() => motoristaNovo);

            var result = new MotoristaController(mockMotoristaBusiness.Object, mapperMock.Object).Alterar(motoristaViewModelNovo);

            result.Wait();

            var notFoundResult = result.Result as NotFoundResult;

            notFoundResult.StatusCode.Should().Be(404, "Resultado incorreto ao alterar motorista que não existe");
        }
Пример #25
0
        public async Task <ActionResult> Incluir([FromBody] MotoristaViewModel motorista)
        {
            try {
                if (ModelState.IsValid)
                {
                    await criarMotorista.Execute(motorista);

                    return(Created($"/api/motorista/{motorista.Id}", motorista));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex) {
                new TelemetryClient().TrackException(ex);

                string mensagem = $"Ocorreu um erro ao salvar o motorista";

                return(BadRequest(mensagem));
            }
        }
        public ActionResult Cadastrar([Bind(Include = "Nome, CNH, ValidadeCNH, RG, CPF, Celular, Nextel, MOP")] MotoristaViewModel viewModel)
        {
            var motorista = new Motorista(
                User.ObterTransportadoraId(),
                viewModel.Nome,
                viewModel.CNH,
                viewModel.ValidadeCNH,
                viewModel.RG,
                viewModel.CPF,
                viewModel.Celular,
                viewModel.Nextel,
                viewModel.MOP);

            var motoristaComCNH = _motoristaRepositorio.ObterMotoristaPorCNH(viewModel.CNH, User.ObterTransportadoraId());

            if (motoristaComCNH != null)
            {
                ModelState.AddModelError(string.Empty, $"Já existe um outro motorista cadastrado com a CNH {viewModel.CNH}");

                return(View(viewModel));
            }

            var motoristaComCPF = _motoristaRepositorio.ObterMotoristaPorCPF(viewModel.CPF, User.ObterTransportadoraId());

            if (motoristaComCPF != null)
            {
                ModelState.AddModelError(string.Empty, $"Já existe um outro motorista cadastrado com o CPF {viewModel.CPF}");

                return(View(viewModel));
            }

            if (Validar(motorista))
            {
                _motoristaRepositorio.Cadastrar(motorista);
                TempData["Sucesso"] = true;
            }

            return(View(viewModel));
        }
        public async Task <IActionResult> Incluir([FromBody] MotoristaViewModel motorista)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var novoMotorista = mapper.Map <MotoristaViewModel, Motorista>(motorista);

                    await motoristaBusiness.Incluir(novoMotorista);

                    var motoristaVm = mapper.Map <Motorista, MotoristaViewModel>(novoMotorista);

                    return(Created($"/api/motorista/{novoMotorista.Id}", motoristaVm));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest("Ocorreu um erro ao salvar o motorista"));
            }
        }
Пример #28
0
        public async Task <ActionResult <Motorista> > Post([FromBody] MotoristaViewModel motorista)
        {
            var motoristaPersistir = new Motorista
                                         (motorista.Nome,
                                         motorista.Idade,
                                         motorista.Sexo,
                                         motorista.PossuiVeiculo,
                                         motorista.CNH,
                                         new Veiculo(motorista.veiculo.Carregado,
                                                     motorista.veiculo.TipoVeiculo,
                                                     motorista.veiculo.Placa,
                                                     motorista.veiculo.DataPassagemTerminal)
                                         , motorista.CargaParaVoltaDestino);

            _motoristaRepository.Add(motoristaPersistir);

            var testMotorista = await _motoristaRepository.GetById(motoristaPersistir.Id);

            await _uow.Commit();

            testMotorista = await _motoristaRepository.GetById(motoristaPersistir.Id);

            return(Ok(testMotorista));
        }
Пример #29
0
        public ActionResult <MotoristaViewModel> ObterPorId([FromQuery] MotoristaGetRequest request)
        {
            MotoristaViewModel motorista = obterMotorista.Execute(request.Id);

            return(motorista ?? (ActionResult <MotoristaViewModel>)NotFound());
        }
Пример #30
0
        // Métodos
        private async void BuscarMotorista(int idMotorista)
        {
            this.motorista = await _motoristaApp.Get(idMotorista);

            MostrarMotorista();
        }