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 })); }
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 })); }
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 })); }
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() })); }
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 })); } }
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)); }
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 })); }
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)); }
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() })); }
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 })); }
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 })); } }