Example #1
0
        public static bool AgregarUsuario(string franquicia, string from, string rut, string nombre, string correo,
            bool enviarConfirmación)
        {
            var userRepo = new Repositorio.Repository.UsuarioRepository();

            if (!userRepo.ExisteEmail(correo) && !userRepo.ExisteRut(rut))
            {
                var usuario = new Entidades.Models.Usuario();

                usuario.Rut = rut;
                usuario.Nombre = nombre;
                usuario.Correo = correo;

                var hash = Util.Security.PasswordUtil.CreateSalt(5);
                var pass = Util.Security.PasswordUtil.CreatePassword(10);

                var passEnc = Util.Security.PasswordUtil.GenerateHashWithSalt(pass, hash);

                usuario.Hash = hash;
                usuario.Password = passEnc;
                var confirmKey = Guid.NewGuid().ToString();
                usuario.Confirmacion = confirmKey;
                usuario.EmailValido = false;

                usuario.Avatar = null;
                usuario.Estado = EstadoUsuario.Deshabilitado;

                userRepo.Insertar(usuario);
                userRepo.GuardarCambios();

                if (enviarConfirmación)
                   Util.Email.EnviarCorreoUtil.EnviarMailRegistro(franquicia, from, correo, nombre, confirmKey, nombre, pass);

                return true;
            }

            return false;
        }
Example #2
0
        public static bool ConfirmCorreoUsuario(Entidades.ViewModels.ConfirmacionUsuario confirmacion)
        {
            var userRepo = new Repositorio.Repository.UsuarioRepository();

            if (userRepo.ExisteEmail(confirmacion.Email))
            {
                var usuario = userRepo.GetUsuarioPorEmail(confirmacion.Email);

                if (!usuario.EmailValido)
                {
                    var hash = usuario.Hash;
                    var passEnc = Util.Security.PasswordUtil.GenerateHashWithSalt(confirmacion.Password, hash);

                    if (passEnc == usuario.Password)
                        return true;
                }

                return false;
            }
            return false;
        }