public JsonResult InserirNovoItemRota(int codigoRota, int codigoPedido, DateTime dataInicio, DateTime dataFim, DateTime dataInicioColeta, DateTime dataFimColeta) { string mensagemErro; ItemRota itemRota = new ItemRota(); itemRota.Rota = new Rota() { Codigo = codigoRota }; itemRota.CabecalhoPedido = new CabecalhoPedido() { Codigo = codigoPedido }; itemRota.DataInicio = dataInicio; itemRota.DataFim = dataFim; itemRota.DataInicioColeta = dataInicioColeta; itemRota.DataFimColeta = dataFimColeta; itemRota.Aprovado = false; ItemRotaBLL.insertItemRota(itemRota, out mensagemErro); if (String.IsNullOrEmpty(mensagemErro)) { return(Json(new { sucesso = true })); } else { return(Json(new { sucesso = false, mensagemErro = mensagemErro })); } }
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 BuscarItensRota(int codigoRota) { string mensagemErro; var listaItens = ItemRotaBLL.selectItensRota(codigoRota, out mensagemErro); if (String.IsNullOrEmpty(mensagemErro)) { return(Json(new { sucesso = true, listaItens = listaItens })); } else { return(Json(new { sucesso = false, mensagemErro = mensagemErro })); } }
public JsonResult RemoverItemRota(int codigoRota, int codigoPedido) { string mensagemErro; ItemRotaBLL.deleteItemRota(codigoRota, codigoPedido, out mensagemErro); if (String.IsNullOrEmpty(mensagemErro)) { return(Json(new { sucesso = true })); } else { return(Json(new { sucesso = false, mensagemErro = mensagemErro })); } }
public IActionResult NovaRotaManual(int?codigoRota) { string mensagemErro; var vm = new RotaViewModel(); if (codigoRota.HasValue && codigoRota > 0) { vm.Rota = RotaBLL.selectRotas(Convert.ToInt32(codigoRota), out mensagemErro).FirstOrDefault(); vm.listaItensRota = ItemRotaBLL.selectItensRota(Convert.ToInt32(codigoRota), out mensagemErro); return(View(vm)); } else { return(View(vm)); } }
public JsonResult CriarAtualizarNovaRota(int?codigoRota, int codigoInstrutor, string observacao) { string mensagemErro; Rota rota = new Rota(); rota.Codigo = codigoRota; rota.Instrutor = new Funcionario() { Codigo = codigoInstrutor }; rota.DataInicio = DateTime.Now; rota.DataFim = DateTime.Now; rota.Observacao = observacao; if (rota.Codigo.HasValue && rota.Codigo > 0) { var listaItensRota = ItemRotaBLL.selectItensRota((int)rota.Codigo, out mensagemErro); if (listaItensRota != null && listaItensRota.Count > 0) { rota.DataInicio = listaItensRota.Min(x => x.DataInicio); rota.DataFim = listaItensRota.Max(x => x.DataFim); } RotaBLL.updateRota(rota, out mensagemErro); } else { codigoRota = RotaBLL.insertRota(rota, out mensagemErro); } if (String.IsNullOrEmpty(mensagemErro)) { return(Json(new { sucesso = true, codigoRota = codigoRota })); } else { return(Json(new { sucesso = false, mensagemErro = mensagemErro })); } }
public JsonResult ConfirmarItemRota(int codigoRota, int codigoPedido, int codigoInstrutor, DateTime dataInicioTreinamento, DateTime dataFimTreinamento, DateTime dataInicioColeta, DateTime dataFimColeta, int?codigoSala, int?codigoHotel, string observacao, string ObservacaoInstrutor, string nomeCliente, string horarioAtendimento, string[] listaEmails) { string mensagemErro; ParceiroBLL parceiroBLL = new ParceiroBLL(); ItemPedidoBLL itemPedidoBLL = new ItemPedidoBLL(); var usuario = new Funcionario(Convert.ToInt32(HttpContext.Request.Cookies["CODIGO_USUARIO"])); //ATUALIZAR PEDIDOS COM OS DADOS INFORMADOS CabecalhoPedidoBLL cabecalhoPedidoBLL = new CabecalhoPedidoBLL(); CabecalhoPedido cab = cabecalhoPedidoBLL.GetPedidoByCodigo(codigoPedido, out mensagemErro); if (cab != null) { cab.FuncionarioInstrutor = new Funcionario(codigoInstrutor); cab.DataInicioTreinamento = dataInicioTreinamento; cab.DataFinalTreinamento = dataFimTreinamento; if (codigoSala.HasValue && codigoSala > 0) { cab.ParceiraSalaTreinamento = parceiroBLL.getParceiros(codigoSala, null, null, null, null, out mensagemErro).First(); } if (codigoHotel.HasValue && codigoHotel > 0) { cab.ParceiroHotel = parceiroBLL.getParceiros(codigoHotel, null, null, null, null, out mensagemErro).First(); } cab.InfoTreinamento = ObservacaoInstrutor; cab.StatusNegociacao = new StatusNegociacao() { CodigoStatus = 13 }; //ENVIAR PARA AGUARDANDO GERAÇÃO DE DOCUMENTOS if (!cabecalhoPedidoBLL.updateCabecalhoPedido(cab, out mensagemErro)) { return(Json(new { sucesso = false, mensagemErro = mensagemErro })); } //Grava Notificação //NotificacoesBLL notificacoesBLL = new NotificacoesBLL(); //Notificacoes notificacao = new Notificacoes(); //notificacao.FuncionarioCriador = usuario; //notificacao.FuncionarioDestino = new Funcionario() { Codigo = cab.FuncionarioVendedor.Codigo }; //notificacao.Mensagem = "Pedido " + cab.Codigo + " incluído na rota!"; //notificacoesBLL.insertNotificacao(notificacao, out mensagemErro); //ATUALIZA ITEM ROTA ItemRota itemRota = ItemRotaBLL.selectItensRota(codigoRota, out mensagemErro).Where(x => x.CabecalhoPedido.Codigo == codigoPedido).FirstOrDefault(); if (itemRota != null) { itemRota.Aprovado = true; ItemRotaBLL.updateRota(itemRota, out mensagemErro); } } else { return(Json(new { sucesso = false, mensagemErro = mensagemErro })); } //BUSCAR ITENS PEDIDO var listaItens = itemPedidoBLL.getItemPedido(null, (int)cab.Codigo, out mensagemErro); var listaItensConcat = ""; listaItensConcat = "<ul>"; foreach (ItemPedido item in listaItens) { listaItensConcat += "<li>" + item.Produto.Descricao + "</li>"; } listaItensConcat += "</ul>"; //MONTAR LISTA COM HORÁRIOS string listHorarios = "<ul>"; foreach (string item in horarioAtendimento.Split(new string[] { "###" }, StringSplitOptions.None)) { //if (Convert.ToDateTime(item.Substring(0, 10)).Date >= dataInicioTreinamento.Date && Convert.ToDateTime(item.Substring(0, 10)).Date <= dataFimTreinamento.Date) //{ // listHorarios += "<li>" + item + " (Treinamento) " + "</li>"; //} //else //{ // listHorarios += "<li>" + item + " (Coleta de dados) " + "</li>"; //} listHorarios += "<li>" + item + "</li>"; } listHorarios += "</ul>"; //MONTAR EMAIL CLIENTE string templateEmail = System.IO.File.ReadAllText("./wwwRoot/Templates/TemplateEmailRoteirizacao.html"); templateEmail = templateEmail.Replace("@nomeCliente", nomeCliente) .Replace("@razaoSocial", cab.Cliente.RazaoSocial) .Replace("@instrutor", cab.FuncionarioInstrutor.Nome) .Replace("@servicos", listaItensConcat) .Replace("@dataAtendimento", listHorarios) .Replace("@observacao", "<strong>2º Obs.:</strong> " + observacao) .Replace("@localAtendimento", (cab.ParceiraSalaTreinamento == null || cab.ParceiraSalaTreinamento.Codigo == 0 ? "Posto" : cab.ParceiraSalaTreinamento.Descricao + " - " + cab.ParceiraSalaTreinamento.Endereco + "," + cab.ParceiraSalaTreinamento.Cidade.Descricao + "-" + cab.ParceiraSalaTreinamento.Cidade.Estado)); if (listaItens.Where(x => x.Produto.CategoriaProduto.Codigo == 1).Count() > 0) { templateEmail = templateEmail.Replace("@infoAdicionais", @"<strong>Informações Adicionais:</strong> <br /> <ul> <li>A Cia do Treinamento se resguarda do direto de não realizar os treinamentos, caso o número mínimo de participantes por turma não seja atingida.</li> <br /> <li>A Cia do Treinamento se resguarda do direito de somente encaminhar o certificado dos alunos que comparecerem integralmente aos treinamentos.</li> <br /> <li>Não será permitido ao inscrito, troca de horário no decorrer do treinamento.</li> <br /> <li>Caso o inscrito não compareça ao Treinamento o valor da inscrição não será devolvido. Deverá ser feito uma nova inscrição e um novo pagamento.</li> </ul>" ); } else { templateEmail = templateEmail.Replace("@infoAdicionais", ""); } //INCLUIR RELATO string relatoAtendimento = System.IO.File.ReadAllText("./wwwRoot/Templates/TemplateRelatoRoteirizacao.txt"); relatoAtendimento = relatoAtendimento.Replace("@nomeCliente", nomeCliente) .Replace("@razaoSocial", cab.Cliente.RazaoSocial) .Replace("@instrutor", cab.FuncionarioInstrutor.Nome) .Replace("@servicos", listaItensConcat) .Replace("@dataAtendimento", horarioAtendimento) .Replace("@observacao", "2º Obs.: " + observacao) .Replace("@localAtendimento", (cab.ParceiraSalaTreinamento == null || cab.ParceiraSalaTreinamento.Codigo == 0 ? "Posto" : cab.ParceiraSalaTreinamento.Descricao + " - " + cab.ParceiraSalaTreinamento.Endereco + "," + cab.ParceiraSalaTreinamento.Cidade.Descricao + "-" + cab.ParceiraSalaTreinamento.Cidade.Estado)); if (!String.IsNullOrEmpty(relatoAtendimento)) { Atendimentos atendimento = new Atendimentos(); atendimento.CodigoPedido = (int)cab.Codigo; atendimento.DataRegistro = DateTime.Now; atendimento.Descricao = relatoAtendimento; atendimento.Funcionario = usuario; AtendimentosBLL atendimentosBLL = new AtendimentosBLL(); if (!atendimentosBLL.insertAtendimento(atendimento, out mensagemErro)) { return(Json(new { sucesso = false, mensagemErro = mensagemErro })); } } if (listaEmails.Length > 0) { string emails = ""; for (var i = 0; i < listaEmails.Length; i++) { emails += listaEmails[i] + ","; } emails += "[email protected]," + cab.FuncionarioVendedor.Email; //ENVIAR EMAIL PARA O CLIENTE string Assunto = "A/C " + nomeCliente + " - Confirmação de Atendimento a " + cab.Cliente.Cidade.Descricao + " - " + cab.Cliente.Cidade.Estado + " / Cia do Treinamento"; string retornoEmail = Uteis.SendMailRoteirizacao(usuario.Login, emails, Assunto, templateEmail, usuario.Email); } return(Json(new { sucesso = true })); }