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;
        }