public void SendNotificationEmailTask(TipoNotificacion tipoNotificacion, TipoComentario tipoComentario, TipoPQRS tipoPQRS, int RecordId, int Order, int DataId, int CommentId, string UsuarioNombre, string AppLink) { var formato = new Formato(); try { formato = db.Recruitments.Include(d => d.UsuarioCreacion).Include(d => d.Analista).Where(d => d.RecruitmentId == DataId) .Select(d => new Formato { TipoPQRS = tipoPQRS, Id = d.RecruitmentId, AnalistaId = (d.Analista == null) ? "" : d.Analista.UsuarioNombre, AnalistaCorreo = (d.Analista == null) ? "" : d.Analista.UsuarioCorreo, NroTracking = (d.NroTracking == null) ? "" : d.NroTracking }).FirstOrDefault(); List <Mails> mails = new List <Mails>(); string subject = "AIS - "; subject += $"[{formato.NroTracking}]: {formato.Asunto} ({tipoNotificacion.ToString()})"; string msg = $"The user <b>{UsuarioNombre}</b> "; string action = "Details"; bool flagDestinatarios = false; //Primer paso ( se crear el ticket de PQRS) if (tipoNotificacion == TipoNotificacion.CreateFormat) { msg += $"has created a new Recruitment({formato.TipoPQRS.ToString()})"; msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; msg += $"<b>Testecorreo</b>: {formato.AnalistaCorreo}<br />"; msg += $"<b>Testeanalista</b>: {formato.AnalistaId}<br />"; msg += $"<b>Traking</b>: {formato.NroTracking}<br />"; msg += $"<b>Recruitment</b>: {formato.Id}<br />"; flagDestinatarios = true; } else if (tipoNotificacion == TipoNotificacion.Assign) { /* msg += $"has assigned a new CS analyst ({formato.AnalistaId})"; * msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; * msg += $"<b>Date</b>: {formato.FechaCreacion}<br />"; * msg += $"<b>Priority</b>: {formato.Prioridad.ToString()}<br />"; * msg += $"<b>Note</b>: {formato.Observacion}<br />"; * var step = db.PQRSRecords.Where(r => r.Id == RecordId && r.Order == Order).FirstOrDefault(); * msg += $"<b>Reason</b>: {step.MotivoPQRSNombre}<br />"; * var comment = db.PQRSRecordComentarios.Where(c => c.Id == CommentId).FirstOrDefault(); * msg += $"<b>Date Comment</b>: {comment.FechaCreacion}<br />"; * msg += $"<b>Comment</b>: {comment.Comentario}<br />"; * flagDestinatarios = step.EnviaCorreoDestinatarios ?? false;*/ msg += $"has created a new Recruitment({formato.TipoPQRS.ToString()})"; msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; msg += $"<b>Testecorreo</b>: {formato.AnalistaCorreo}<br />"; msg += $"<b>Testeanalista</b>: {formato.AnalistaId}<br />"; msg += $"<b>Traking</b>: {formato.NroTracking}<br />"; msg += $"<b>Recruitment</b>: {formato.Id}<br />"; } else if (tipoNotificacion == TipoNotificacion.Comment) { /* msg += $"has added a new comment"; * * msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; * msg += $"<b>Date</b>: {formato.FechaCreacion}<br />"; * msg += $"<b>Priority</b>: {formato.Prioridad.ToString()}<br />"; * msg += $"<b>Note</b>: {formato.Observacion}<br />"; * * var comment = db.PQRSRecordComentarios.Where(c => c.Id == CommentId).FirstOrDefault(); * msg += $"<b>Date Comment</b>: {comment.FechaCreacion}<br />"; * msg += $"<b>Comment</b>: {comment.Comentario}<br />";*/ msg += $"has created a new Recruitment({formato.TipoPQRS.ToString()})"; msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; msg += $"<b>Testecorreo</b>: {formato.AnalistaCorreo}<br />"; msg += $"<b>Testeanalista</b>: {formato.AnalistaId}<br />"; msg += $"<b>Traking</b>: {formato.NroTracking}<br />"; msg += $"<b>Recruitment</b>: {formato.Id}<br />"; } else if (tipoNotificacion == TipoNotificacion.CurrentStep) { msg += $"has created a new Recruitment({formato.TipoPQRS.ToString()})"; msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; msg += $"<b>Testecorreo</b>: {formato.AnalistaCorreo}<br />"; msg += $"<b>Testeanalista</b>: {formato.AnalistaId}<br />"; msg += $"<b>Traking</b>: {formato.NroTracking}<br />"; msg += $"<b>Recruitment</b>: {formato.Id}<br />"; /* * var step = db.PQRSRecords.Where(r => r.Id == RecordId && r.Order == Order).FirstOrDefault(); * if (tipoComentario == TipoComentario.Approval) * { * msg += $"has approved <b>Step:</b> {step.FlujoPQRSNombre} <b>Reason PQRS:</b> {step.MotivoPQRSNombre}"; * } * else if (tipoComentario == TipoComentario.Rejection) * { * msg += $"has rejected <b>Step:</b> {step.FlujoPQRSNombre} <b>Reason PQRS:</b> {step.MotivoPQRSNombre}"; * } * * * msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; * msg += $"<b>Date</b>: {formato.FechaCreacion}<br />"; * msg += $"<b>Priority</b>: {formato.Prioridad.ToString()}<br />"; * msg += $"<b>Note</b>: {formato.Observacion}<br />"; * msg += $"<b>Reason</b>: {step.MotivoPQRSNombre}<br />"; * var comment = db.PQRSRecordComentarios.Where(c => c.Id == CommentId).FirstOrDefault(); * msg += $"<b>Date Comment</b>: {comment.FechaCreacion}<br />"; * msg += $"<b>Comment</b>: {comment.Comentario}<br />"; * var userStep = db.PQRSRecordUsuarios * .Include(ru => ru.Usuario) * .Where(ru => ru.PQRSRecordId == RecordId && ru.PQRSRecordOrder == Order).ToList(); * foreach (var u in userStep) * { * mails.Add(new Mails { to = u.Usuario.UsuarioCorreo, toName = u.Usuario.UsuarioNombre }); * } * flagDestinatarios = step.EnviaCorreoDestinatarios ?? false; */ } else if (tipoNotificacion == TipoNotificacion.NextStep) { msg += $"has created a new Recruitment({formato.TipoPQRS.ToString()})"; msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; msg += $"<b>Testecorreo</b>: {formato.AnalistaCorreo}<br />"; msg += $"<b>Testeanalista</b>: {formato.AnalistaId}<br />"; msg += $"<b>Traking</b>: {formato.NroTracking}<br />"; msg += $"<b>Recruitment</b>: {formato.Id}<br />"; /* * var step = db.PQRSRecords.Where(r => r.Id == RecordId && r.Order == Order).FirstOrDefaultAsync(); * msg = $"You have pending an action to do in system, please log in here to continue"; * msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; * msg += $"<b>Date</b>: {formato.FechaCreacion}<br />"; * msg += $"<b>Priority</b>: {formato.Prioridad.ToString()}<br />"; * msg += $"<b>Note</b>: {formato.Observacion}<br />"; * * var userStep = db.PQRSRecordUsuarios * .Include(ru => ru.Usuario) * .Where(ru => ru.PQRSRecordId == RecordId && ru.PQRSRecordOrder == Order).ToList(); * mails.Clear(); * foreach (var u in userStep) * { * mails.Add(new Mails { to = u.Usuario.UsuarioCorreo, toName = u.Usuario.UsuarioNombre }); * } * flagDestinatarios = false; */ } else if (tipoNotificacion == TipoNotificacion.Close) { /* * var step = db.PQRSRecords.Where(r => r.Id == RecordId && r.Order == Order).FirstOrDefault(); * msg = $"has closed <b>Reason PQRS:</b> {step.MotivoPQRSNombre}"; * var comment = db.PQRSRecordComentarios.Where(c => c.Id == CommentId).FirstOrDefault(); * msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; * msg += $"<b>Date</b>: {formato.FechaCreacion}<br />"; * msg += $"<b>Priority</b>: {formato.Prioridad.ToString()}<br />"; * msg += $"<b>Note</b>: {formato.Observacion}<br />"; * msg += $"<b>Date Comment</b>: {comment.FechaCreacion}<br />"; * msg += $"<b>Comment</b>: {comment.Comentario}<br />"; * flagDestinatarios = step.EnviaCorreoDestinatarios ?? false; */ msg += $"has created a new Recruitment({formato.TipoPQRS.ToString()})"; msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; msg += $"<b>Testecorreo</b>: {formato.AnalistaCorreo}<br />"; msg += $"<b>Testeanalista</b>: {formato.AnalistaId}<br />"; msg += $"<b>Traking</b>: {formato.NroTracking}<br />"; msg += $"<b>Recruitment</b>: {formato.Id}<br />"; } else if (tipoNotificacion == TipoNotificacion.Complete) { /* * var step = db.PQRSRecords.Where(r => r.Id == RecordId && r.Order == Order).FirstOrDefault(); * msg += $"has completed "; * * msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; * msg += $"<b>Date</b>: {formato.FechaCreacion}<br />"; * msg += $"<b>Priority</b>: {formato.Prioridad.ToString()}<br />"; * msg += $"<b>Note</b>: {formato.Observacion}<br />"; * * flagDestinatarios = step.EnviaCorreoDestinatarios ?? false; */ msg += $"has created a new Recruitment({formato.TipoPQRS.ToString()})"; msg += $"<br /><br /><b>PQRS Information</b><br /><br />"; msg += $"<b>Testecorreo</b>: {formato.AnalistaCorreo}<br />"; msg += $"<b>Testeanalista</b>: {formato.AnalistaId}<br />"; msg += $"<b>Traking</b>: {formato.NroTracking}<br />"; msg += $"<b>Recruitment</b>: {formato.Id}<br />"; } //Destinatario del formato if (flagDestinatarios) { var destinatarios = formato.Destinatarios.Split(','); foreach (var d in destinatarios) { if (d != null && d != "") { mails.Add(new Mails { to = d, toName = d }); } } } //if (tipoNotificacion != TipoNotificacion.CreateFormat) msg += $"<br /><br /><a style='color:#22BCE5' href={{url}}/PQRS/{action}?TipoPQRS={tipoPQRS}&DataId={DataId}&RecordId={RecordId}>Click here to view the PQRS.</a>"; foreach (var m in mails) { Task.Run(() => Fn.SendHtmlEmail("*****@*****.**", "Cayo Diebe", subject, msg, AppLink)); //Task.Run(() => Fn.SendHtmlEmail(m.to, m.toName, subject, msg, AppLink)); } } catch { return; } // await Task.Run(() => Fn.SendHtmlEmail(to, toName, subject, msg)); }