public void GeneraSolicitudCancion(int idUsuario, string idGenero, string idArtista, string idAlbum, string cancion, string comentarios) { ModelDataContext db = new ModelDataContext(); try { Sugerencia sugerencia = new Sugerencia { IdUsuario = idUsuario, Genero = idGenero.Trim().ToUpper(), Artista = idArtista.Trim().ToUpper(), Album = idAlbum.Trim().ToUpper(), Cancion = cancion.Trim().ToUpper(), Comentarios = comentarios.Trim().ToUpper() }; db.Sugerencia.AddObject(sugerencia); db.SaveChanges(); BusinessCorreo.SendMail("*****@*****.**", "Solicitud de Cancion", string.Format("Genero: {0}\nArtista: {1}\nAlbum: {2}\nCanción: {3}\n Comentarios: {4}", sugerencia.Genero, sugerencia.Artista, sugerencia.Album, sugerencia.Cancion, sugerencia.Comentarios)); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
private void EnviaNotificacion(List <Ticket> informeConsulta, int idTipoGrupo) { foreach (Ticket ticket in informeConsulta) { foreach (TicketGrupoUsuario tgu in ticket.TicketGrupoUsuario.Where(w => w.GrupoUsuario.IdTipoGrupo == idTipoGrupo).Distinct()) { foreach (UsuarioGrupo ug in tgu.GrupoUsuario.UsuarioGrupo) { foreach (CorreoUsuario correoUsuario in ug.Usuario.CorreoUsuario) { BusinessCorreo.SendMail(correoUsuario.Correo, string.Format("Ticket {0} Clave Registro {1} {2}", ticket.Id, ticket.Random ? ticket.ClaveRegistro : "N/A", tgu.GrupoUsuario.Descripcion), string.Format("Grupo {0} " + "<br>Persona {1} " + "<br>Persona Levanto {2}" + "<br>Ticket Tiempo que levanto {3} " + "<br>tiempo envio {4}", tgu.GrupoUsuario.Descripcion, correoUsuario.Usuario.NombreCompleto, ticket.UsuarioLevanto.NombreCompleto, ticket.FechaHoraAlta, ticket.FechaHoraFinProceso)); } } } } }
private void GeneraCorreo(int idTicket, int idGrupoUsuario, int idUsuario, string correoUsuario, bool antesVencimiento, string mensaje, ParametrosGenerales parametros) { DataBaseModelContext db = new DataBaseModelContext(); try { if (db.TicketNotificacion.Count(c => c.IdTicket == idTicket && c.IdGrupoUsuario == idGrupoUsuario && c.CorreoUsuario == correoUsuario) < parametros.MensajesNotificacion) { TicketNotificacion lastNotificacion = db.TicketNotificacion.Where(w => w.IdTicket == idTicket && w.IdGrupoUsuario == idGrupoUsuario && w.CorreoUsuario == correoUsuario).ToList().LastOrDefault(); if (lastNotificacion != null) { if (DateTime.Now >= lastNotificacion.FechaNotificacion.AddMinutes(parametros.FrecuenciaNotificacionMinutos)) { TicketNotificacion tn = new TicketNotificacion { IdTicket = idTicket, IdGrupoUsuario = idGrupoUsuario, IdUsuario = idUsuario, CorreoUsuario = correoUsuario, IdTipoNotificacion = (int)BusinessVariables.EnumeradoresKiiniNet.EnumTipoNotificacion.Correo, FechaNotificacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture) }; db.TicketNotificacion.AddObject(tn); db.SaveChanges(); BusinessCorreo.SendMail(correoUsuario, string.Format("{0}", antesVencimiento ? "Ticket apunto de vencer" : "Ticket ha vencido"), mensaje); } } else { TicketNotificacion tn = new TicketNotificacion { IdTicket = idTicket, IdGrupoUsuario = idGrupoUsuario, IdUsuario = idUsuario, CorreoUsuario = correoUsuario, IdTipoNotificacion = (int)BusinessVariables.EnumeradoresKiiniNet.EnumTipoNotificacion.Correo, FechaNotificacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture) }; db.TicketNotificacion.AddObject(tn); db.SaveChanges(); BusinessCorreo.SendMail(correoUsuario, string.Format("{0}", antesVencimiento ? "Ticket apunto de vencer" : "Ticket ha vencido"), mensaje); } } } catch { } finally { db.Dispose(); } }
public void GuardarUsuario(Usuario usuario) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.LazyLoadingEnabled = true; string tmpurl = usuario.Password; Guid g = Guid.NewGuid(); ParametroCorreo correo = db.ParametroCorreo.SingleOrDefault(s => s.IdTipoCorreo == (int)BusinessVariables.EnumTipoCorreo.AltaUsuario && s.Habilitado); usuario.ApellidoPaterno = usuario.ApellidoPaterno.ToUpper(); usuario.ApellidoMaterno = usuario.ApellidoMaterno.ToUpper(); usuario.Nombre = usuario.Nombre.ToUpper(); usuario.Password = ConfigurationManager.AppSettings["siteUrl"] + tmpurl + "?confirmacionalta=" + usuario.Id + "_" + g; usuario.UsuarioLinkPassword = new List <UsuarioLinkPassword> { new UsuarioLinkPassword { Activo = true, Link = g, Fecha = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdTipoLink = (int)BusinessVariables.EnumTipoLink.Confirmacion } }; if (usuario.Id == 0) { db.Usuario.AddObject(usuario); db.SaveChanges(); } usuario.Password = ConfigurationManager.AppSettings["siteUrl"] + tmpurl + "?confirmacionalta=" + usuario.Id + "_" + g; if (correo != null) { String body = NamedFormat.Format(correo.Contenido, usuario); foreach (CorreoUsuario correoUsuario in usuario.CorreoUsuario) { BusinessCorreo.SendMail(correoUsuario.Correo, correo.TipoCorreo.Descripcion, body); } } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } }
private void EnviaCorreo(string nombre, string correo, string link) { try { string url = string.Format("{0}/{1}?id={2}", ConfigurationManager.AppSettings["siteUrl"], "Confirmacion.aspx", link); String body = string.Format("Hola {0}<br><br>Gracias por registrarte en Kiininet<br><br>Tu nombre de usuario es: {1}<br><br>Para completar su registro, <a href='{2}'>haz clic aquí para verificar tu dirección de correo electrónico </a><br><br>Una vez que hayas sido verificado, podrás iniciar sesión en tu cuenta de Kiininet.<br><br>Si tienes preguntas, comunícate con nuestro equipo de atención al cliente.<br><br>El equipo de Kiininet", nombre, correo, link); BusinessCorreo.SendMail(correo, "Confirma tu registro", body); } catch (Exception ex) { throw new Exception(ex.Message); } }
public string EnviaCodigoVerificacionCorreo(int idUsuario, int idTipoNotificacion, int idCorreo) { DataBaseModelContext db = new DataBaseModelContext(); string result = null; try { db.ContextOptions.ProxyCreationEnabled = _proxy; Random generator = new Random(); String codigo = generator.Next(0, 99999).ToString("D5"); Guid g = Guid.NewGuid(); ParametroCorreo correo = db.ParametroCorreo.SingleOrDefault(s => s.IdTipoCorreo == (int)BusinessVariables.EnumTipoCorreo.RecuperarCuenta && s.Habilitado); if (correo != null) { string to = db.CorreoUsuario.Single(s => s.Id == idCorreo).Correo; db.LoadProperty(correo, "TipoCorreo"); Usuario usuario = db.Usuario.Single(u => u.Id == idUsuario); db.LoadProperty(usuario, "CorreoUsuario"); String body = string.Format(correo.Contenido, usuario.NombreCompleto, ConfigurationManager.AppSettings["siteUrl"] + "/FrmRecuperar.aspx?confirmacionCodigo=" + BusinessQueryString.Encrypt(idUsuario + "_" + g) + "&correo=" + BusinessQueryString.Encrypt(idCorreo.ToString()) + "&code=" + BusinessQueryString.Encrypt(codigo), codigo); BusinessCorreo.SendMail(to, correo.TipoCorreo.Descripcion, body); usuario.UsuarioLinkPassword = new List <UsuarioLinkPassword> { new UsuarioLinkPassword { Activo = true, Link = g, Fecha = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdTipoLink = (int)BusinessVariables.EnumTipoLink.Reset, Codigo = codigo } }; db.SaveChanges(); result = g.ToString(); } } catch (Exception ex) { throw new Exception((ex.InnerException).Message); } finally { db.Dispose(); } return(result); }