Esempio n. 1
0
        public JsonResult AtualizarRotaCompleta(int codigoInstrutor, string arrayPedidosRota)
        {
            RoteirizacaoBLL              roteirizacaoBLL    = new RoteirizacaoBLL();
            CabecalhoPedidoBLL           cabecalhoPedidoBLL = new CabecalhoPedidoBLL();
            NotificacoesBLL              notificacoesBLL    = new NotificacoesBLL();
            string                       mensagemErro;
            List <RotaComplexaViewModel> listaPedidos = JsonConvert.DeserializeObject <List <RotaComplexaViewModel> >(arrayPedidosRota);

            var codigoUsuario = Convert.ToInt32(HttpContext.Request.Cookies["CODIGO_USUARIO"]);

            foreach (RotaComplexaViewModel pedido in listaPedidos)
            {
                if (!roteirizacaoBLL.updatePedidoRota(pedido.codigoPedido, codigoInstrutor, "", "", Convert.ToDateTime(pedido.dataInicioTreinamento), Convert.ToDateTime(pedido.dataFimTreinamento), 13, out mensagemErro))
                {
                    return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                }

                //Grava Notificação
                CabecalhoPedido cabecalhoPedido = cabecalhoPedidoBLL.GetPedidoByCodigo(pedido.codigoPedido, out mensagemErro);
                //Notificacoes notificacao = new Notificacoes();
                //notificacao.FuncionarioCriador = new Funcionario() { Codigo = codigoUsuario };
                //notificacao.FuncionarioDestino = new Funcionario() { Codigo = cabecalhoPedido.FuncionarioVendedor.Codigo };
                //notificacao.Mensagem = "Pedido " + cabecalhoPedido.Codigo + " incluído na rota!";
                //notificacoesBLL.insertNotificacao(notificacao, out mensagemErro);
            }

            TempData["mensagemSucesso"] = "Rota criada com sucesso!";

            return(Json(new { sucesso = true }));
        }
Esempio n. 2
0
        public JsonResult AtualizarStatusPedido(int codigoStatus, List <int> pedidos)
        {
            RoteirizacaoBLL    roteirizacaoBLL    = new RoteirizacaoBLL();
            CabecalhoPedidoBLL cabecalhoPedidoBLL = new CabecalhoPedidoBLL();
            NotificacoesBLL    notificacoesBLL    = new NotificacoesBLL();
            string             mensagemErro;

            StatusNegociacao status = new StatusNegociacao(codigoStatus);

            var codigoUsuario = Convert.ToInt32(HttpContext.Request.Cookies["CODIGO_USUARIO"]);

            foreach (int pedido in pedidos)
            {
                if (!roteirizacaoBLL.updateStatusPedido(pedido, codigoStatus, out mensagemErro))
                {
                    return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                }

                //Grava Notificação
                CabecalhoPedido cabecalhoPedido = cabecalhoPedidoBLL.GetPedidoByCodigo(pedido, out mensagemErro);
                //Notificacoes notificacao = new Notificacoes();
                //notificacao.FuncionarioCriador = new Funcionario() { Codigo = codigoUsuario };
                //notificacao.FuncionarioDestino = new Funcionario() { Codigo = cabecalhoPedido.FuncionarioVendedor.Codigo };
                //notificacao.Mensagem = "Status do pedido " + cabecalhoPedido.Codigo + " atualizado para " + status.Descricao + "!";
                //notificacoesBLL.insertNotificacao(notificacao, out mensagemErro);
            }

            TempData["mensagemSucesso"] = "Pedidos atualizados com sucesso!";
            return(Json(new { sucesso = true }));
        }
Esempio n. 3
0
        public JsonResult AtualizarRotaManual(int codigoInstrutor, string arrayPedidosRota, string arrayPedidosAprovados, string observacaoRota)
        {
            RoteirizacaoBLL              roteirizacaoBLL    = new RoteirizacaoBLL();
            CabecalhoPedidoBLL           cabecalhoPedidoBLL = new CabecalhoPedidoBLL();
            NotificacoesBLL              notificacoesBLL    = new NotificacoesBLL();
            string                       mensagemErro;
            List <RotaComplexaViewModel> listaPedidos          = JsonConvert.DeserializeObject <List <RotaComplexaViewModel> >(arrayPedidosRota);
            List <RotaComplexaViewModel> listaPedidosAprovados = JsonConvert.DeserializeObject <List <RotaComplexaViewModel> >(arrayPedidosAprovados);

            var codigoUsuario = Convert.ToInt32(HttpContext.Request.Cookies["CODIGO_USUARIO"]);

            //INCLUIR CABECALHO ROTA
            Rota rota = new Rota();

            rota.Instrutor = new Funcionario()
            {
                Codigo = codigoInstrutor
            };
            rota.DataInicio = Convert.ToDateTime(listaPedidos.Min(x => x.dataInicioTreinamento));
            rota.DataFim    = Convert.ToDateTime(listaPedidos.Min(x => x.dataFimTreinamento));
            rota.Observacao = observacaoRota;

            rota.Codigo = RotaBLL.insertRota(rota, out mensagemErro);

            if (rota.Codigo <= 0)
            {
                return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
            }

            //INCLUIR ITENS ROTA
            foreach (RotaComplexaViewModel pedido in listaPedidos)
            {
                ItemRota itemRota = new ItemRota();
                itemRota.Rota            = rota;
                itemRota.CabecalhoPedido = new CabecalhoPedido()
                {
                    Codigo = pedido.codigoPedido
                };
                itemRota.DataInicio = Convert.ToDateTime(pedido.dataFimTreinamento);
                itemRota.DataFim    = Convert.ToDateTime(pedido.dataFimTreinamento);
                itemRota.Aprovado   = (listaPedidosAprovados.Where(x => x.codigoPedido == pedido.codigoPedido).Count() > 0);

                if (ItemRotaBLL.insertItemRota(itemRota, out mensagemErro) <= 0)
                {
                    return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                }
            }

            TempData["mensagemSucesso"] = "Rota criada com sucesso!";

            return(Json(new { sucesso = true }));
        }
Esempio n. 4
0
        public JsonResult BuscarPedidosProdutosCategoria(string codigoEstado, int?codigoCidade, int?codigoMeso, int?codigoMicro, int?codigoProduto, int?codigoRede)
        {
            string          mensagemErro;
            RoteirizacaoBLL BLL = new RoteirizacaoBLL();

            var lista = BLL.BuscarPedidosProdutosCategoria(codigoEstado, codigoCidade, codigoMeso, codigoMicro, codigoProduto, codigoRede, out mensagemErro);

            if (!String.IsNullOrEmpty(mensagemErro))
            {
                return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
            }

            return(Json(new { sucesso = true, lista = lista.ToArray() }));
        }
Esempio n. 5
0
        public JsonResult BuscarPedidosRota(string estado, int?codigoCidade)
        {
            try
            {
                RoteirizacaoBLL BLL = new RoteirizacaoBLL();
                string          mensagemErro;

                List <CabecalhoPedido> listaPedidos = BLL.BuscarPedidosRoteirizacao(null, null, null, codigoCidade, estado, null, null, null, null, null, null, out mensagemErro);

                return(Json(new { sucesso = true, listaPedidos = listaPedidos }));
            }catch (Exception ex) {
                return(Json(new { sucesso = false, mensagemErro = ex.Message }));
            }
        }
Esempio n. 6
0
        public IActionResult RealatorioPendeteVistoria(int?ddlAgenteVendasFiltro, string ddlEstadosFiltro, int?ddlCidadesFiltro,
                                                       string txtaRazaoNomeClienteFiltro, DateTime?dtpDataInicioFechamentoPedido, DateTime?dtpDataFinalFechamentoPedido)
        {
            RoteirizacaoBLL BLL = new RoteirizacaoBLL();
            string          mensagemErro;

            List <CabecalhoPedido> listaPedidos = BLL.BuscarPedidosPendenteVistoria(ddlAgenteVendasFiltro, txtaRazaoNomeClienteFiltro, ddlCidadesFiltro,
                                                                                    ddlEstadosFiltro, dtpDataInicioFechamentoPedido, dtpDataFinalFechamentoPedido, out mensagemErro);

            if (!string.IsNullOrEmpty(mensagemErro))
            {
                TempData["mensagemErro"] = mensagemErro;
                return(View("List"));
            }

            return(View(listaPedidos));
        }
Esempio n. 7
0
        public JsonResult AtualizarPedidoRota(int codigoPedido, int ddlInstrutorRota, string ddlSalaRota, string txtInformacoesAdicionais,
                                              DateTime dtpDataInicioTreinamento, DateTime dtpDataFimTreinamento, int codigoStatus, string detalheRetornoPedido = "")
        {
            RoteirizacaoBLL    roteirizacaoBLL    = new RoteirizacaoBLL();
            CabecalhoPedidoBLL cabecalhoPedidoBLL = new CabecalhoPedidoBLL();
            NotificacoesBLL    notificacoesBLL    = new NotificacoesBLL();
            string             mensagemErro;

            var codigoUsuario = Convert.ToInt32(HttpContext.Request.Cookies["CODIGO_USUARIO"]);

            if (!roteirizacaoBLL.updatePedidoRota(codigoPedido, ddlInstrutorRota, ddlSalaRota, txtInformacoesAdicionais,
                                                  dtpDataInicioTreinamento, dtpDataFimTreinamento, codigoStatus, out mensagemErro, detalheRetornoPedido))
            {
                return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
            }

            CabecalhoPedido cabecalhoPedido = cabecalhoPedidoBLL.GetPedidoByCodigo(codigoPedido, out mensagemErro);

            //Grava Notificação
            //Notificacoes notificacao = new Notificacoes();
            //notificacao.FuncionarioCriador = new Funcionario() { Codigo = codigoUsuario };
            //notificacao.FuncionarioDestino = new Funcionario() { Codigo = cabecalhoPedido.FuncionarioVendedor.Codigo };
            //notificacao.Mensagem = "Pedido " + cabecalhoPedido.Codigo + " incluído na rota!";
            //notificacoesBLL.insertNotificacao(notificacao, out mensagemErro);

            //EM CASO DE PEDIDO PENDENTE (17 / 18) ENVIAR EMAIL PARA O AGENTE RESPONSÁVEL
            if (codigoStatus == 17 || codigoStatus == 18)
            {
                var usuario = new Funcionario(Convert.ToInt32(HttpContext.Request.Cookies["CODIGO_USUARIO"]));

                string templateEmail = System.IO.File.ReadAllText("./wwwRoot/Templates/TemplateEmailPendencia.html");

                templateEmail = templateEmail.Replace("@colaborador", cabecalhoPedido.FuncionarioVendedor.Nome)
                                .Replace("@codigoPedido", cabecalhoPedido.Codigo.ToString())
                                .Replace("@motivo", detalheRetornoPedido);

                var emails = "[email protected], [email protected]," + cabecalhoPedido.FuncionarioVendedor.Email;

                //ENVIAR EMAIL PARA O CLIENTE
                string Assunto = "A/C " + cabecalhoPedido.FuncionarioVendedor.Nome + " / Cia do Treinamento.";

                string retornoEmail = Uteis.SendMailRoteirizacao(usuario.Login, emails, Assunto, templateEmail, usuario.Email);
            }

            return(Json(new { sucesso = true }));
        }
Esempio n. 8
0
        public IActionResult Consultar(int?ddlAgenteVendasFiltro, int?ddlInstrutorFiltro, string ddlEstadosFiltro, int?ddlCidadesFiltro,
                                       int?ddlMesoFiltro, int?ddlMicroFiltro, string txtaRazaoNomeClienteFiltro, int?txtaCodigoPedidoFiltro,
                                       int?ddlProdutosFiltro, DateTime?dtpDataInicioFechamentoPedido, DateTime?dtpDataFinalFechamentoPedido)
        {
            RoteirizacaoBLL BLL = new RoteirizacaoBLL();
            string          mensagemErro;

            List <CabecalhoPedido> listaPedidos = BLL.BuscarPedidosRoteirizacao(ddlAgenteVendasFiltro, ddlInstrutorFiltro, txtaRazaoNomeClienteFiltro, ddlCidadesFiltro,
                                                                                ddlEstadosFiltro, dtpDataInicioFechamentoPedido, dtpDataFinalFechamentoPedido, ddlMesoFiltro,
                                                                                ddlMicroFiltro, txtaCodigoPedidoFiltro, ddlProdutosFiltro, out mensagemErro);

            if (!string.IsNullOrEmpty(mensagemErro))
            {
                TempData["mensagemErro"] = mensagemErro;
                return(View("List"));
            }

            return(View("List", listaPedidos));
        }
Esempio n. 9
0
        public JsonResult BuscarPedidosProdutos(string codigoEstado, int?codigoCidade, int?codigoMeso, int?codigoMicro, int?codigoProduto, int?codigoRede)
        {
            string          mensagemErro;
            RoteirizacaoBLL BLL = new RoteirizacaoBLL();

            var lista = BLL.BuscarPedidosProdutos(codigoEstado, codigoCidade, codigoMeso, codigoMicro, codigoProduto, codigoRede, out mensagemErro);

            if (!String.IsNullOrEmpty(mensagemErro))
            {
                return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
            }

            List <ProdutosCategoriaViewModel> vm = (from item in lista
                                                    group item by item.categoria into Group
                                                    select new ProdutosCategoriaViewModel()
            {
                Categoria = Group.First().categoria, listaProdutos = Group.ToList()
            }).ToList();;

            return(Json(new { sucesso = true, lista = vm.OrderByDescending(x => x.qtdeProdutos).ToList() }));
        }
Esempio n. 10
0
        public JsonResult BuscarPedidosAgrupadosPorCidade(string codigoEstado, int?codigoCidade, int?codigoMeso, int?codigoMicro, int?codigoProduto)
        {
            string          mensagemErro;
            RoteirizacaoBLL BLL = new RoteirizacaoBLL();

            var listaPedidos = BLL.BuscarPedidosRoteirizacao(null, null, null, codigoCidade, codigoEstado, null, null, codigoMeso, codigoMicro, null, codigoProduto, out mensagemErro);

            if (!String.IsNullOrEmpty(mensagemErro))
            {
                return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
            }

            var vm = (from item in listaPedidos
                      group item by item.Cliente.Cidade.Codigo into Group
                      select new PedidosRoteirizacaoViewModel()
            {
                cidade = Group.First().Cliente.Cidade.Descricao + " - " + Group.First().Cliente.Cidade.Estado, latitude = Group.First().Cliente.Cidade.Latitude, longitude = Group.First().Cliente.Cidade.Longitude, listaPedidos = Group.ToList()
            }).ToList();

            return(Json(new { sucesso = true, listaPedidos = vm }));
        }
Esempio n. 11
0
        public JsonResult BuscarCidadesRota(string estado, int?cidade, int?meso, int?micro, int?produto, int?codigoRede)
        {
            try
            {
                RoteirizacaoBLL BLL = new RoteirizacaoBLL();
                string          mensagemErro;

                List <CabecalhoPedido> listaPedidos = BLL.BuscarPedidosRoteirizacao(estado, cidade, meso, micro, produto, codigoRede, out mensagemErro);

                List <CidadesRotaViewModel> vw = (from item in listaPedidos
                                                  group item by item.Cliente.Cidade.Codigo into Group
                                                  select new CidadesRotaViewModel()
                {
                    cidade = Group.First().Cliente.Cidade, listaPedidos = Group.ToList(), qtdePedidos = Group.Count(), qtdePedidosVistoria = Group.Where(x => x.temVistoria == true).Count(), valorTotal = Group.Sum(x => x.ValorTotal)
                }).ToList();;

                return(Json(new { sucesso = true, listaCidades = vw }));
            }
            catch (Exception ex)
            {
                return(Json(new { sucesso = false, mensagemErro = ex.Message }));
            }
        }