示例#1
0
 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));
                 }
             }
         }
     }
 }
示例#2
0
        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();
            }
        }
示例#3
0
        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();
            }
        }
示例#4
0
        private void ValidaCaptura()
        {
            try
            {
                if (txtApRapido.Text.Trim() == string.Empty)
                {
                    throw new Exception("Apellido Paterno es un campo obligatorio.");
                }
                if (txtNombreRapido.Text.Trim() == string.Empty)
                {
                    throw new Exception("Nombre es un campo obligatorio.");
                }

                if (txtCorreoRapido.Text.Trim() == string.Empty)
                {
                    throw new Exception("Correo es un campo Obligatorio.");
                }
                if (txtCorreoRapido.Text.Trim() == string.Empty)
                {
                    throw new Exception("Debe confirmar el correo.");
                }

                if (txtCorreoRapido.Text != txtCorreoRapidoConfirmacion.Text)
                {
                    throw new Exception("Los correos no coinciden.");
                }

                if (!BusinessCorreo.IsValidEmail(txtCorreoRapido.Text.Trim()) || txtCorreoRapido.Text.Trim().Contains(" "))
                {
                    throw new Exception(string.Format("Correo {0} con formato invalido", txtCorreoRapido.Text.Trim()));
                }
                if (!BusinessCorreo.IsValidEmail(txtCorreoRapidoConfirmacion.Text.Trim()) || txtCorreoRapidoConfirmacion.Text.Trim().Contains(" "))
                {
                    throw new Exception(string.Format("Correo {0} con formato invalido", txtCorreoRapidoConfirmacion.Text.Trim()));
                }

                TipoUsuario tipoUsuario = _servicioTipoUsuario.ObtenerTipoUsuarioById(IdTipoUsuario);
                if (tipoUsuario != null)
                {
                    if (tipoUsuario.TelefonoObligatorio)
                    {
                        if (txtTelefonoCelularRapido.Text.Trim() == string.Empty)
                        {
                            throw new Exception("El Telefono es Obligatorio.");
                        }
                    }
                }
                if (txtTelefonoCelularRapido.Text.Trim() != string.Empty && txtTelefonoCelularRapido.Text.Length < 10)
                {
                    throw new Exception(string.Format("El telefono debe ser de 10 digitos."));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
示例#5
0
        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();
            }
        }
示例#6
0
 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);
     }
 }
示例#7
0
        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);
        }
示例#8
0
        private void ValidaCaptura()
        {
            if (txtNombre.Text.Trim() == string.Empty)
            {
                throw new Exception("Nombre es campo obligatorio.");
            }
            if (txtApellido.Text.Trim() == string.Empty)
            {
                throw new Exception("Apellido es campo obligatorio.");
            }

            if (txtCorreo.Text.Trim() == string.Empty)
            {
                throw new Exception("Correo es campo obligatorio.");
            }
            if (!BusinessCorreo.IsValid(txtCorreo.Text.Trim()) || txtCorreo.Text.Trim().Contains(" "))
            {
                throw new Exception(string.Format("Correo {0} con formato invalido", txtCorreo.Text.Trim()));
            }
            if (txtConfimacionCorreo.Text.Trim() == string.Empty)
            {
                throw new Exception("Debes confirmar tu correo.");
            }
            if (!BusinessCorreo.IsValid(txtConfimacionCorreo.Text.Trim()) || txtConfimacionCorreo.Text.Trim().Contains(" "))
            {
                throw new Exception(string.Format("Correo {0} con formato invalido", txtCorreo.Text.Trim()));
            }
            if (txtCorreo.Text.Trim() != txtConfimacionCorreo.Text.Trim())
            {
                throw new Exception("Los correos no coinciden.");
            }
            if (txtPassword.Text.Trim() == string.Empty)
            {
                throw new Exception("Contraseña es campo obligatorio.");
            }
            if (txtConfirmaPassword.Text.Trim() == string.Empty)
            {
                throw new Exception("Debes Confirmar tu contraseña.");
            }
            if (txtPassword.Text.Trim() != txtConfirmaPassword.Text.Trim())
            {
                throw new Exception("Las contraseñas no coinciden.");
            }
        }