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