public ResultadoRecuperacionContrasena ClientesRecuperarContrasena(string email)
        {
            var res = new ResultadoRecuperacionContrasena();
            var us  = new UsuarioDatosEmail();
            var cc  = _configuration.GetConnectionString("DefaultConnection");

            using (SqlConnection conn = new SqlConnection(cc))
            {
                SqlParameter[] param = new SqlParameter[]
                {
                    new SqlParameter("@email", email),
                };
                _cmd    = SQLHelper.PrepareCommand(conn, null, CommandType.StoredProcedure, @"Web.ClientesRecuperarContrasena", param);
                _reader = _cmd.ExecuteReader(CommandBehavior.CloseConnection);
                if (_reader.Read())
                {
                    res.Resultado = AsignaEntero("Resultado");
                }
                _reader.NextResult();
                if (_reader.Read())
                {
                    us = RellenarUsuarioEmail();
                }
            }
            res.Propiedades = PropiedadesSitioLeer();
            if (us.IdUsuarioWeb > 0)
            {
                var mailEnvio = RellenarEmail(res.Propiedades.CorreoRecuperacion, us, res.Propiedades);
                res.Cadena = EnviarCorreo(email, "Recuperación", mailEnvio, res.Propiedades);
            }
            return(res);
        }
        public ResultadoInvitaciones ClientesInvitacionesProcesar(List <Cliente> Clientes)
        {
            var res = new ResultadoInvitaciones();
            var cr  = "";

            try
            {
                cr = dsCore.Comun.Ayudas.SerializarACadenaXML(Clientes);
            }
            catch
            {
                //Si está vacía la lista no nos importa
            }
            res.Enviadas      = new List <String>();
            res.UsuariosError = new List <UsuarioError>();
            var pp = new PropiedadesSitio();
            var UsuariosInvitados = new List <UsuarioDatosEmail>();
            var cc = _configuration.GetConnectionString("DefaultConnection");

            using (SqlConnection conn = new SqlConnection(cc))
            {
                SqlParameter[] param = new SqlParameter[]
                {
                    new SqlParameter("@clientes", cr),
                };
                _cmd    = SQLHelper.PrepareCommand(conn, null, CommandType.StoredProcedure, @"Web.ClientesInvitacionesProcesar", param);
                _reader = _cmd.ExecuteReader(CommandBehavior.CloseConnection);
                while (_reader.Read())
                {
                    UsuarioDatosEmail us = RellenarUsuarioEmail();
                    UsuariosInvitados.Add(us);
                }
                _reader.NextResult();
                while (_reader.Read())
                {
                    var us = new UsuarioError
                    {
                        nombre = AsignaCadena("Nombre"),
                        motivo = AsignaCadena("Motivo"),
                    };
                    res.UsuariosError.Add(us);
                }
                _reader.NextResult();
                pp = RellenarPropiedadesSitio();
            }
            foreach (UsuarioDatosEmail us in UsuariosInvitados)
            {
                var email = RellenarEmail(pp.CorreoInvitacion, us, pp);
                res.Enviadas.Add(EnviarCorreo(us.EmaildsWin, "Invitación", email, pp));
            }
            return(res);
        }
        public ResultadoRegistro ClientesProcesarRegistro(SolicitudRegistro sol)
        {
            var res     = new ResultadoRegistro();
            var Usuario = new UsuarioDatosEmail();

            sol.empresawildcards = sol.empresa.Replace(" ", "%").ToLower();
            var cc = _configuration.GetConnectionString("DefaultConnection");

            using (SqlConnection conn = new SqlConnection(cc))
            {
                SqlParameter[] param = new SqlParameter[]
                {
                    new SqlParameter("@nombre", sol.nombre),
                    new SqlParameter("@password", sol.password),
                    new SqlParameter("@email", sol.email),
                    new SqlParameter("@telefono", sol.telefono),
                    new SqlParameter("@informacion", sol.informacion),
                    new SqlParameter("@cif", sol.cif),
                    new SqlParameter("@empresa", sol.empresa),
                    new SqlParameter("@empresawildcards", sol.empresawildcards),
                };
                _cmd    = SQLHelper.PrepareCommand(conn, null, CommandType.StoredProcedure, @"Web.ClientesProcesarRegistro", param);
                _reader = _cmd.ExecuteReader(CommandBehavior.CloseConnection);
                if (_reader.Read())
                {
                    res.Resultado = AsignaEntero("Resultado");
                    res.Cadena    = AsignaCadena("Cadena");
                }
                _reader.NextResult();
                if (_reader.Read())
                {
                    UsuarioDatosEmail us = RellenarUsuarioEmail();
                    Usuario = us;
                }
                _reader.NextResult();
                res.Propiedades = RellenarPropiedadesSitio();
            }
            if (res.Resultado == 0)
            {
                var email = RellenarEmail(res.Propiedades.CorreoRegistro, Usuario, res.Propiedades);
                res.CadenaMail = EnviarCorreo(sol.email, "Registro", email, res.Propiedades);
            }
            else if (res.Resultado == 1)
            {
                var email = RellenarEmail(res.Propiedades.CorreoVerificacion, Usuario, res.Propiedades);
                res.CadenaMail = EnviarCorreo(Usuario.EmaildsWin, "Verificación", email, res.Propiedades);
            }
            return(res);
        }
        private string RellenarEmail(string email, UsuarioDatosEmail us, PropiedadesSitio pr)
        {
            var newmail = email.Replace("#%guid%#", us.GuidValidacion.ToString());

            newmail = newmail.Replace("#%nombre%#", us.Nombre);
            newmail = newmail.Replace("#%guidrecuperacion%#", us.GuidRecuperacion.ToString());
            newmail = newmail.Replace("#%password%#", us.Password);
            newmail = newmail.Replace("#%nombrecompleto%#", us.NombreCompleto);
            newmail = newmail.Replace("#%urlSitio%#", pr.URLSitio);
            newmail = newmail.Replace("#%rutaValidacion%#", pr.RutaValidacion);
            newmail = newmail.Replace("#%rutaRecuperacion%#", pr.RutaRecuperacion);
            newmail = newmail.Replace("#%nombreSitio%#", pr.NombreSitio);
            newmail = newmail.Replace("#%rutaLogo%#", pr.RutaLogo);
            return(newmail);
        }
Ejemplo n.º 5
0
        public ResultadoInvitaciones ClientesInvitacionesProcesar(List <Cliente> Clientes)
        {
            var res = new ResultadoInvitaciones();

            res.Enviadas      = new List <String>();
            res.UsuariosError = new List <UsuarioError>();
            var pp = new PropiedadesSitio();
            var UsuariosInvitados = new List <UsuarioDatosEmail>();
            var cc = _configuration.GetConnectionString("DefaultConnection");

            using (SqlConnection conn = new SqlConnection(cc))
            {
                _cmd    = SQLHelper.PrepareCommand(conn, null, CommandType.StoredProcedure, @"Web.ClientesInvitacionesProcesar", null);
                _reader = _cmd.ExecuteReader(CommandBehavior.CloseConnection);
                while (_reader.Read())
                {
                    UsuarioDatosEmail us = RellenarUsuarioEmail();
                    UsuariosInvitados.Add(us);
                }
                _reader.NextResult();
                while (_reader.Read())
                {
                    var us = new UsuarioError
                    {
                        nombre = AsignaCadena("Nombre"),
                        motivo = AsignaCadena("Motivo"),
                    };
                    res.UsuariosError.Add(us);
                }
                _reader.NextResult();
                pp = RellenarPropiedadesSitio();
            }
            foreach (UsuarioDatosEmail us in UsuariosInvitados)
            {
                var email = RellenarEmail(pp.CorreoInvitacion, us, pp);
                res.Enviadas.Add(EnviarCorreo(us.EmaildsWin, "Invitación", email, pp));
            }
            return(res);
        }