//Notificación por email a los usuarios que comentaron el MomentogA public static void sendEmailNotificationToCommenters(int momentID, COMMENT newComment, string originalPosterName, string commenterName) { string originalPosterUsername = (ctx.MOMENTOGA.FirstOrDefault(m => m.ID == momentID)).USERNAME; List<string> listaUsuarios = new List<string>(); /* Obtengo la lista de comentarios que tiene la foto para obtener los usuarios que comentaron */ IQueryable<COMMENT> listaComentariosHechos = ctx.COMMENT.Where(c => c.MOMENTOGAID == newComment.MOMENTOGAID); /*Para cada comentario hecho, agrego a la lista de usuarios el mail de ese usuario si, el usuario del comentario NO ES EL QUE ESTA COMENTANDO, el usuario del comentario NO ES EL QUE POSTEO LA FOTO, y si NO ESTA AGREGADO A LA LISTA*/ foreach (COMMENT comentarioHecho in listaComentariosHechos) { if (comentarioHecho.USERNAME != newComment.USERNAME && comentarioHecho.USERNAME != originalPosterUsername && !listaUsuarios.Contains(comentarioHecho.USERNAME + "@grupoassa.com")) { listaUsuarios.Add(comentarioHecho.USERNAME + "@grupoassa.com"); } } string body = ""; //Si el que comenta es el que posteo la foto if (newComment.USERNAME == originalPosterUsername) { body = "<p style='text-align: center;'><table border='0' style='border-collapse: collapse;max-width: 500px;background-color: #eeeeee; text-align: left;padding: 0; font-family: arial; font-size: 14pt; margin: auto;text-align: justify'><tr style='max-width:500px'><td style='max-width:500px'><img style='width: 100%;' src='https://gafest.grupoassa.com/Content/Media/Img/Momento_gA_mail_header.png'></td></tr><tr><td style='padding: 30px; max-width: 460px;'><p style='font-size: 16pt;'>¡Hola!</p><p>¡" + commenterName + " comentó su Momento gA!</p><p>Entrá a gAFest y mirá el comentario <a style='font-weight: bold; text-decoration: none; color: #c8372e' href='https://gafest.grupoassa.com/MomentogA/Galeria/" + momentID + "'>acá</a>.</p><p>Esperamos que ya estés disfrutando la fiesta.<br>Cualquier cosa, ya sabés a quiénes llamar ;)</p><table border='0' style='font-family: arial;font-size: 14pt;'><tr><td><img src='https://gafest.grupoassa.com/Content/Media/Img/gAFest_Logo_75.png' style='margin-right: 15px;'></td><td>Saludos,<br>Equipo de gA Fest</td></tr></table></td></tr></table></p>"; } //Si el que comenta NO es el que posteo la foto else { body = "<p style='text-align: center;'><table border='0' style='border-collapse: collapse;max-width: 500px;background-color: #eeeeee; text-align: left; padding: 0; font-family: arial; font-size: 14pt; margin: auto;text-align: justify'><tr style='max-width:500px'><td style='max-width:500px'><img style='width: 100%;' src='https://gafest.grupoassa.com/Content/Media/Img/Momento_gA_mail_header.png'></td></tr><tr><td style='padding: 30px; max-width: 460px;'><p style='font-size: 16pt;'>¡Hola!</p><p>¡" + commenterName + " comentó en un Momento gA en el que participaste!</p><p>Entrá a gAFest y mirá el comentario <a style='font-weight: bold; text-decoration: none; color: #c8372e' href='https://gafest.grupoassa.com/MomentogA/Galeria/" + momentID + "'>acá</a>.</p><p>Esperamos que ya estés disfrutando la fiesta.<br>Cualquier cosa, ya sabés a quiénes llamar ;)</p><table border='0' style='font-family: arial;font-size: 14pt;'><tr><td><img src='https://gafest.grupoassa.com/Content/Media/Img/gAFest_Logo_75.png' style='margin-right: 15px;'></td><td>Saludos,<br>Equipo de gA Fest</td></tr></table></td></tr></table></p>"; } if (listaUsuarios.Count > 0) { sendEmail(null, listaUsuarios.ToArray(), "MomentogA - Comentaron la foto de " + originalPosterName, body); } }
public ActionResult Comment(string ID, string Content) { gafest2014Entities ctx = new gafest2014Entities(); int FotoID = int.Parse(ID); COMMENT comment = new COMMENT(); comment.DATE = DateTime.Now; comment.USERNAME = ContextHelper.LoggedUser.USERNAME; comment.IMAGID = FotoID; comment.TEXT = Content; comment.COMMENTID = PostFiestaHelper.GetCOMMENTNextNumber(); ctx.COMMENT.Add(comment); ctx.SaveChanges(); return RedirectToAction("Galeria", "Fotos", new { @ID = ID }); }
//Notificación por email al usuario que posteo el MomentogA public static void sendEmailNotificationToOriginalPoster(int momentID, COMMENT comment, string commenterName, string originalPosterFirstName) { string[] to = { (ctx.MOMENTOGA.FirstOrDefault(m => m.ID == momentID)).USERNAME + "@grupoassa.com" }; string body = "<p style='text-align: center;'><table border='0' style='border-collapse: collapse;background-color: #eeeeee; text-align: left; padding: 0; font-family: arial; font-size: 14pt; margin: auto;text-align: justify'><tr style='max-width: 500px'><td style='max-width:500px'><img style='width: 100%;' src='https://gafest.grupoassa.com/Content/Media/Img/Momento_gA_mail_header.png'></td></tr><tr><td style='padding: 30px; max-width: 460px;'><p style='font-size: 16pt;'>Hola <span style='color: #0079b3; font-weight: bold;'>" + originalPosterFirstName + "</span>,</p><p>¡" + commenterName + " comentó tu Momento gA!</p><p>Entrá a gAFest y mirá el comentario <a style='font-weight: bold; text-decoration: none; color: #c8372e' href='https://gafest.grupoassa.com/MomentogA/Galeria/" + momentID + "'>acá</a>.</p><p>Esperamos que ya estés disfrutando la fiesta.<br>Cualquier cosa, ya sabés a quiénes llamar ;)</p><table border='0' style='font-family: arial;font-size: 14pt;'><tr><td><img src='https://gafest.grupoassa.com/Content/Media/Img/gAFest_Logo_75.png' style='margin-right: 15px;'></td><td>Saludos,<br>Equipo de gA Fest</td></tr></table></td></tr></table></p>"; if ((ctx.MOMENTOGA.FirstOrDefault(m => m.ID == momentID)).USERNAME != comment.USERNAME) { sendEmail(to, null, "Momento gA - ¡Comentaron tu foto!", body); } }
public ActionResult Comment(string ID, string Content) { gafest2014Entities ctx = new gafest2014Entities(); try { int momentID = int.Parse(ID); COMMENT comment = new COMMENT(); comment.DATE = DateTime.Now; comment.USERNAME = ContextHelper.LoggedUser.USERNAME; comment.IMAGID = 0; comment.TEXT = Content; comment.COMMENTID = PostFiestaHelper.GetCOMMENTNextNumber(); comment.MOMENTOGAID = momentID; if (comment.TEXT != null && comment.TEXT != String.Empty) { ctx.COMMENT.Add(comment); ctx.SaveChanges(); string commenterName = (ctx.USER.FirstOrDefault(u => u.USERNAME == comment.USERNAME)).NOMBRE + " " + (ctx.USER.FirstOrDefault(u => u.USERNAME == comment.USERNAME)).APELLIDO; string originalPosterName = (ctx.USER.FirstOrDefault(u => u.USERNAME == (ctx.MOMENTOGA.FirstOrDefault(m => m.ID == momentID)).USERNAME)).NOMBRE + " " + (ctx.USER.FirstOrDefault(u => u.USERNAME == (ctx.MOMENTOGA.FirstOrDefault(m => m.ID == momentID)).USERNAME)).APELLIDO; string originalPosterFirstName = (ctx.USER.FirstOrDefault(u => u.USERNAME == (ctx.MOMENTOGA.FirstOrDefault(m => m.ID == momentID)).USERNAME)).NOMBRE; EmailHelper.sendEmailNotificationToOriginalPoster(momentID, comment, commenterName, originalPosterFirstName); EmailHelper.sendEmailNotificationToCommenters(momentID, comment, originalPosterName, commenterName); } ctx.Dispose(); } catch (Exception ex) { string[] listaMailSoporte = {"*****@*****.**","*****@*****.**","*****@*****.**","*****@*****.**"}; EmailHelper.sendEmail(listaMailSoporte, null, "Error en 'Comment' - 'MomentogAController'", "Error:" + ex.Message); } return new EmptyResult(); }