Beispiel #1
0
        public ActionResult Index(EntregaModel model)
        {
            try
            {
                // Validacoes
                if (model.Enderecos == null || !model.Enderecos.Any())
                {
                    throw new Exception("Favor preencher todos os campos da solicitação.");
                }
                else
                {
                    if (model.Enderecos.Any() && (string.IsNullOrWhiteSpace(model.Enderecos.First().Latitude) || string.IsNullOrWhiteSpace(model.Enderecos.First().Latitude)))
                    {
                        throw new Exception("Favor pesquisar o endereço e clicar na localização desejada na lista.");
                    }
                }

                // Adiciona destino
                model.Enderecos.Add(new EnderecoModel()
                {
                });

                // Model
                this.TempData["origemSolicitacao"] = model;

                // Redirect
                return(RedirectToAction("Index", "Entregas"));
            }
            catch (Exception e)
            {
                this.TrataErro(e);
                return(View(model));
            }
        }
Beispiel #2
0
        public ActionResult Index(EntregaModel model)
        {
            // Atualiza OS
            model.PassoOS = OSAvulsoPassos.Destinos;
            this.AtualizaOSAvulsa(model);

            // Redirect
            return(RedirectToAction("Resumo", "Entregas"));
        }
Beispiel #3
0
        public JsonResult Finaliza(EntregaModel model)
        {
            model.Enderecos.Add(new EnderecoModel()
            {
            });

            this.AtualizaOSAvulsa(model);

            return(Json("", JsonRequestBehavior.AllowGet));
        }
Beispiel #4
0
        public IActionResult Registrar(EntregaModel Entrega)
        {
            if (ModelState.IsValid)
            {
                Entrega.GravarEntrega();
                return(RedirectToAction("Sucesso", Entrega));
            }

            return(View());
        }
Beispiel #5
0
        public ActionResult Resumo(EntregaModel model)
        {
            var origem = (EntregaModel)TempData["origemSolicitacao"];

            this.TempData["origemSolicitacao"] = origem;


            // Se Logado redireciona para pagamento
            return(RedirectToAction("Pagamento", "Pagamento"));

            //return View(origem);
        }
Beispiel #6
0
        public static EntregaModel FinalizaOrigem(this Controller context, EntregaModel model)
        {
            // Adiciona destino
            model.Enderecos.Add(new EnderecoModel()
            {
            });
            model.Enderecos[0].TipoOcorrencia = model.TipoProfissional == BHJet_Enumeradores.TipoProfissional.Motorista ? 4 : 3;

            // Seta nova Entrega
            AtualizaOSAvulsa(context, model);

            // Return
            return(model);
        }
Beispiel #7
0
        public IActionResult Registrar(int?id)
        {
            var entrega = new EntregaModel(HttpContextAccessor);

            if (id != null)
            {
                ViewBag.Registro = entrega.CarregarRegistro(id);
            }

            var ListaEmbarcacao = new EmbarcacaoModel(HttpContextAccessor);

            ViewBag.ListaEmbarcacao = ListaEmbarcacao.ListaEmbarcacao();

            ViewBag.ListaStatus = new List <string>(new string[] { StatusEntrega.Processamento.GetDescription(), StatusEntrega.Transito.GetDescription(), StatusEntrega.Encerrada.GetDescription() });

            return(View());
        }
Beispiel #8
0
        public ActionResult Create(EntregaModel entregaModel)
        {
            Entrega entrega                     = Atribuir(entregaModel);
            int     codFormaPagamento           = gerenciadorFormaPagamento.ObterPorDescricao(entregaModel.FormaPagamento).CodFormaPagamento;
            FormaspagamentoHasEntrega pagamento = new FormaspagamentoHasEntrega();

            pagamento.CodFormaPagamento = codFormaPagamento;
            pagamento.Valor             = entrega.Valor;
            if (ModelState.IsValid)
            {
                int codEntrega = gerenciadorEntrega.Inserir(entrega);
                pagamento.CodEntrega = codEntrega;
                gerenciadorPagamento.Inserir(pagamento);
                return(RedirectToAction(nameof(Index)));
            }

            return(View(entregaModel));
        }
Beispiel #9
0
        // GET: Home
        public ActionResult Index()
        {
            var origem = new EntregaModel
            {
                Enderecos = new List <EnderecoModel>()
                {
                    new EnderecoModel()
                    {
                    }
                }
            };

            if (TempData["origemSolicitacao"] != null)
            {
                origem = (EntregaModel)TempData["origemSolicitacao"];
            }

            return(View(origem));
        }
Beispiel #10
0
        public static EntregaModel CriaOSAvulsa(this Controller context, long?idCliente = null)
        {
            // Variaveis
            var entrega = new EntregaModel
            {
                IDCliente = idCliente == null ? Infra.UsuarioLogado.Instance.bhIdCli : idCliente,
                Enderecos = new List <EnderecoModel>()
                {
                    new EnderecoModel()
                    {
                    }
                },
                PassoOS = OSAvulsoPassos.Origem
            };

            // Seta nova Entrega
            context.TempData[NomeVD] = entrega;

            // Return
            return(entrega);
        }
Beispiel #11
0
        private Entrega Atribuir(EntregaModel entrega)
        {
            Entrega e = new Entrega();

            e.CodEntrega           = entrega.CodEntrega;
            e.Origem               = entrega.Origem;
            e.Destino              = entrega.Destino;
            e.Data                 = DateTime.Now;
            e.Status               = "solicitada";
            e.Valor                = entrega.Valor;
            e.Duracao              = entrega.Duracao;
            e.Distancia            = entrega.Distancia;
            e.Descricao_origem     = entrega.Descricao_origem;
            e.Descricao_destino    = entrega.Descricao_destino;
            e.Categoria_veiculo    = entrega.Categoria_veiculo;
            e.CodUsuarioCliente    = entrega.CodUsuarioCliente;
            e.CodUsuarioEntregador = entrega.CodUsuarioEntregador;
            e.CodVeiculo           = entrega.CodVeiculo;

            return(e);
        }
Beispiel #12
0
        public ActionResult Resumo(EntregaModel model)
        {
            // Busca Solicitação
            var osAvulsa = this.RetornaOSAvulsa();

            // Se Logado redireciona para pagamento
            if (string.IsNullOrWhiteSpace(UsuarioLogado.Instance.bhTkUsu) || osAvulsa.IDCliente == null)
            {
                osAvulsa.SimulandoCorridaSemUsuario = true;
                TempData["Error"] = "Favor realizar o login antes de continuar a solicitação do serviço.";
                return(RedirectToAction("Login", "Home"));
            }
            else
            {
                // Incluir Corrida
                osAvulsa.OSNumero = corridaServico.IncluirCorrida(new IncluirCorridaDTO()
                {
                    IDCliente        = osAvulsa.IDCliente,
                    TipoProfissional = (int)osAvulsa.TipoProfissional,
                    IDProfissional   = osAvulsa.ProfissionalSelecionado,
                    Enderecos        = osAvulsa.Enderecos.Select(c => new EnderecoCorridaDTO()
                    {
                        Descricao      = c.Descricao,
                        Latitude       = c.Latitude,
                        Longitude      = c.Longitude,
                        Observacao     = c.Observacao,
                        ProcurarPessoa = c.ProcurarPessoa,
                        TipoOcorrencia = c.TipoOcorrencia
                    }).ToList()
                });

                // Atualiza OS
                this.AtualizaOSAvulsa(osAvulsa);

                // Redirect
                return(RedirectToAction("Resumo", "Entregas"));
            }
        }
Beispiel #13
0
 public EntregasController(ApplicationDbContext context)
 {
     _context       = context;
     _entrega_model = new EntregaModel(context);
 }
Beispiel #14
0
        public IActionResult Sucesso(EntregaModel Entrega)
        {
            ViewBag.Registro = Entrega;

            return(View());
        }
Beispiel #15
0
 public static void AtualizaOSAvulsa(this Controller context, EntregaModel model)
 {
     context.TempData[NomeVD] = model;
 }
Beispiel #16
0
 public static void MantemOSAvulsa(this Controller context, EntregaModel model)
 {
     AtualizaOSAvulsa(context, model);
 }
Beispiel #17
0
        public ActionResult Index(EntregaModel model)
        {
            this.TempData["origemSolicitacao"] = model;

            return(RedirectToAction("Resumo", "Entregas"));
        }