Пример #1
0
        public MotoristaDTO CadastrarMotorista(MotoristaDTO dto)
        {
            Motorista motorista = dto.ParaObjetoDeDominio();
            var       coo       = new GoogleMapsAPIFacade().ObterCoordenadasGeograficas(dto.Endereco).Result;

            motorista.Endereco.CoordenadaGeografica = new CoordenadaGeografica(coo.Latitude, coo.Longitude);

            _veiculoRepositorio.Cadastrar(motorista.Veiculo);
            _coordenadaGeograficaRepositorio.Cadastrar(motorista.Endereco.CoordenadaGeografica);
            _enderecoRepositorio.Cadastrar(motorista.Endereco);
            _motoristaRepositorio.Cadastrar(motorista);

            return(motorista.ParaDTO());
        }
Пример #2
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));
        }
        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));
        }