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