public void EnviarEmailConfirmacao(TicketMensagemRequest request, TicketMensagem ticketMensagem, TicketResponse ticket, AtendenteEmpresa atendenteEmpresa, UsuarioCliente usuarioCliente, List <AtendenteEmpresa> listaAtendentes) { //Se for mensagem enviada pelo atendimento (suporte) e interno if (request.UserType == "S" && request.Interno) { //Se for nova mensagem interna criada pelo suporte Emailer.EnviarEmailInterno(ticket, ticketMensagem, atendenteEmpresa, listaAtendentes); } else { if (request.UserType == "S" && !request.Interno) { //Se for nova mensagem (não interna) criada pelo suporte Emailer.EnviarEmailNovaMensagemCliente(ticket, ticketMensagem); } else { if (request.UserType == "C") { //Se for nova mensagem criada pelo cliente Emailer.EnviarEmailNovaMensagemSuporte(ticket, ticketMensagem, usuarioCliente, listaAtendentes); } } } }
/// <summary> /// Método que envia email para o cliente, confirmando envio de uma nova mensagem /// </summary> /// <param name="ticket"></param> /// <param name="ticketMensagem"></param> public static void EnviarEmailNovaMensagemCliente(TicketResponse ticket, TicketMensagem ticketMensagem) { var subject = string.Empty; var emailFrom = string.Empty; try { subject = "Confirmação de envio de nova mensagem - Ticket #" + ticket.Id.ToString(); emailFrom = ConfigurationManager.AppSettings["EmailSuporte"].ToString(); Email.SendNetEmail(emailFrom, ticket.UsuarioCliente.Email, null, Email.FormatarCorpoNovaMensagemCliente(ticket, ticketMensagem), subject, true, System.Net.Mail.MailPriority.High); } catch (Exception) { throw; } }
/// <summary> /// Método que envia email para o suporte, informando de nova mensagem interna /// </summary> /// <param name="ticket"></param> /// <param name="ticketMensagem"></param> /// <param name="atendenteEmpresa"></param> /// <param name="listaAtendentes"></param> public static void EnviarEmailInterno(TicketResponse ticket, TicketMensagem ticketMensagem, AtendenteEmpresa atendenteEmpresa, List <AtendenteEmpresa> listaAtendentes) { var subject = string.Empty; var emailFrom = string.Empty; var emailsEmCopia = MontarListaEmailsEmCopia(listaAtendentes); try { subject = "Confirmação de novo atendimento interno - Ticket #" + ticket.Id.ToString(); emailFrom = ConfigurationManager.AppSettings["EmailSuporte"].ToString(); Email.SendNetEmail(emailFrom, atendenteEmpresa.Email, emailsEmCopia, Email.FormatarCorpoNovaMensagemInterna(ticket, ticketMensagem, atendenteEmpresa), subject, true, System.Net.Mail.MailPriority.High); } catch (Exception) { throw; } }
/// <summary> /// Método que envia email para o suporte, confirmando nova mensagem /// </summary> /// <param name="ticket"></param> /// <param name="ticketMensagem"></param> /// <param name="usuarioCliente"></param> /// <param name="listaAtendentes"></param> public static void EnviarEmailNovaMensagemSuporte(TicketResponse ticket, TicketMensagem ticketMensagem, UsuarioCliente usuarioCliente, List <AtendenteEmpresa> listaAtendentes) { var subject = string.Empty; var emailFrom = string.Empty; var emailsEmCopia = MontarListaEmailsEmCopia(listaAtendentes); try { subject = "Confirmação de envio de nova mensagem - Ticket #" + ticket.Id.ToString(); emailFrom = ConfigurationManager.AppSettings["EmailSuporte"].ToString(); //Envia email para todos os atendentes foreach (var atendente in listaAtendentes) { Email.SendNetEmail(emailFrom, atendente.Email, null, Email.FormatarCorpoNovaMensagemSuporte(ticket, usuarioCliente, ticketMensagem), subject, true, System.Net.Mail.MailPriority.High); } } catch (Exception) { throw; } }
public bool Update(TicketMensagem entity) { return(_repository.Update(entity)); }
public void Insert(ref TicketMensagem entity) { _repository.Insert(ref entity); }
/// <summary> /// Método que formata o corpo do email /// enviado para o suporte com os dados /// do atendimento solicitado no site Algorix /// </summary> /// <param name="ticket"></param> /// <param name="usuarioCliente"></param> /// <param name="ticketMensagem"></param> /// <returns></returns> public static string FormatarCorpoNovaMensagemSuporte(TicketResponse ticket, UsuarioCliente usuarioCliente, TicketMensagem ticketMensagem) { var corpo = new StringBuilder(); var logo = ConfigurationManager.AppSettings["LogoCabecalho"]; corpo.Append("<html>"); corpo.Append("<head>"); corpo.Append("<title>SAC - Sistema de Atendimento ao Cliente</title>"); corpo.Append("<style type=\"text/css\">"); corpo.Append("body"); corpo.Append("{"); corpo.Append(" margin:0px;"); corpo.Append(" padding:0px;"); corpo.Append(" font-family: Trebuchet MS, Lucida Sans Unicode, Arial, sans-serif;"); corpo.Append(" height:100%;"); corpo.Append(" width:100%;"); corpo.Append(" font-size:11pt;"); corpo.Append("}"); corpo.Append("</style>"); corpo.Append("</head>"); corpo.Append("<body>"); corpo.Append("<table cellspacing=\"4\" cellpadding=\"4\" border=\"0\" style=\"width:700px;\">"); corpo.Append("<tr><td style=\"text-align: left; vertical-align: middle\"><img src=\"" + logo + "\" alt=\"\" /></td></tr>"); corpo.Append("<tr><td><br />"); corpo.Append("Prezado(a) Suporte,<br /><br />"); corpo.Append("Confirmado o recebimento de nova mensagem de atendimento - Ticket " + ticket.Titulo + " - (#" + ticket.Id + "), criado pelo usuário " + usuarioCliente.Nome + ".<br /><br />"); corpo.Append("</td></tr>"); corpo.Append("<tr><td><br />"); corpo.Append("<h3>Ticket</h3><hr><br />"); corpo.Append("<table style=\"width: 70%;\" cellpadding=\"4\" cellspacing=\"4\">"); corpo.Append(" <tr><td style=\"width:20%; vertical-align:top\"><strong>Usuário</strong></td>"); corpo.Append(" <td style=\"width:80%\">" + ticket.UsuarioCliente.Nome + " (" + ticket.UsuarioCliente.Email + ")</td></tr>"); corpo.Append(" <tr><td style=\"width:20%; vertical-align:top\"><strong>Classificação</strong></td>"); corpo.Append(" <td>" + ticket.Classificacao.Nome + "</td></tr>"); corpo.Append(" <tr><td style=\"width:20%; vertical-align:top\"><strong>Categoria</strong></td>"); corpo.Append(" <td>" + ticket.Categoria.Nome + "</td></tr>"); corpo.Append(" <tr><td style=\"width:20%; vertical-align:top\"><strong>Título</strong></td>"); corpo.Append(" <td>" + ticket.Titulo + "</td></tr>"); corpo.Append(" <tr><td style=\"width:20%; vertical-align:top\"><strong>Descrição</strong></td>"); corpo.Append(" <td>" + ticket.Descricao.Replace("\n", "<br />").Replace("\r", "") + "</td></tr>"); corpo.Append("</table>"); corpo.Append("</td></tr>"); corpo.Append("<tr><td><br />"); corpo.Append("<h3>Nova Mensagem</h3><hr><br />"); corpo.Append("<p>" + ticketMensagem.Descricao.Replace("\n", "<br />").Replace("\r", "") + "</p><br />"); corpo.Append("Acesse o <a href='" + ConfigurationManager.AppSettings["SistemaAtendimentoAssinatura"] + "'>sistema de atendimento</a> para dar prosseguimento ao suporte.<br /><br />"); corpo.Append("</td></tr>"); corpo.Append("<tr><td><br />"); corpo.Append("Atenciosamente,<br />"); corpo.Append(ConfigurationManager.AppSettings["TextoAssinatura"] + "<br />"); corpo.Append("<a href='" + ConfigurationManager.AppSettings["UrlAssinatura"] + "'>" + ConfigurationManager.AppSettings["SiteAssinatura"] + "</a><br />"); corpo.Append(ConfigurationManager.AppSettings["TelefonesAssinatura"] + "<br />"); corpo.Append("</td></tr>"); corpo.Append("</table>"); corpo.Append("</body>"); corpo.Append("</html>"); return(corpo.ToString()); }