예제 #1
0
        /// <summary>
        /// Implementación de la lógina de EliminarConexion.
        /// </summary>
        public bool EliminarConexion(Conexion eliminar)
        {
            SqlCommand eliminarCmd = new SqlCommand(eliminarConexionQuery);

            eliminarCmd.Parameters.AddWithValue("@id_conexion", eliminar.ID);
            // Obtiene resultado
            int resultadoFilasSQL = OperacionSQL.ExecuteNonQuery(cadenaConexion, eliminarCmd);

            // Si es distinto a 0, se eliminado la conexión
            return(resultadoFilasSQL != 0);
        }
예제 #2
0
        /// <summary>
        /// Implementación de la lógina de RegistrarConexion.
        /// </summary>
        public ResultadoConexion RegistrarConexion(Conexion guardar)
        {
            // Si el puerto no está relleno, usar el por defecto almacenado en la bbdd
            // INSERT INTO conexion VALUES
            // tipo_conexion, id_usuario, nombre, direccion, puerto, usuario, contrasenia
            int    tipo_conexion = (int)guardar.TipoActual;
            int    id_usuario    = guardar.Propietario.ID;
            string nombre        = guardar.Nombre;
            string direccion     = guardar.Direccion;
            string usuario       = guardar.UsuarioConexion;
            string contrasenia   = guardar.ContraseniaConexion;
            int    puerto        = guardar.Puerto;

            // La conexion se registra y luego se obtiene el ID de la BBDD en el constructor de Conexion
            if (ExisteConexion(guardar))
            {
                return(new ResultadoConexion(ResultadoConexion.TipoResultado.DUPLICADO, null));
            }
            else
            {
                SqlCommand registrarCmd = new SqlCommand(registrarConexionQuery);
                // @tipo_conexion, @id_usuario, @nombre, @direccion, @puerto, @usuario, @contrasenia
                registrarCmd.Parameters.AddWithValue("@tipo_conexion", tipo_conexion);
                registrarCmd.Parameters.AddWithValue("@id_usuario", id_usuario);
                registrarCmd.Parameters.AddWithValue("@nombre", nombre);
                registrarCmd.Parameters.AddWithValue("@direccion", direccion);
                registrarCmd.Parameters.AddWithValue("@puerto", puerto);
                registrarCmd.Parameters.AddWithValue("@usuario", usuario);
                registrarCmd.Parameters.AddWithValue("@contrasenia", contrasenia);

                // Obtiene el resultado
                int resultadoFilasSQL = OperacionSQL.ExecuteNonQuery(cadenaConexion, registrarCmd);

                // Si es distinto mayor a 0, se habrá registrado la conexion
                if (resultadoFilasSQL > 0)
                {
                    // Devuelve la conexión guardada con su ID asignado
                    guardar.ID = ObtenerIDConexion(guardar);
                    return(new ResultadoConexion(ResultadoConexion.TipoResultado.ACEPTADO, guardar));
                }
                else
                {
                    return(new ResultadoConexion(ResultadoConexion.TipoResultado.ERROR, null));
                }
            }
        }
예제 #3
0
        /// <summary>
        /// Implementación de la lógina de Registro.
        /// </summary>
        public ResultadoRegistro RegistrarUsuario(string usuario, string contrasenia)
        {
            if (ExisteUsuario(usuario))
            {
                return(new ResultadoRegistro(ResultadoRegistro.TipoResultado.DUPLICADO, null));
            }
            else
            {
                // Generar sal
                string contraseniaSalt = BCrypt.GenerateSalt();
                //mySalt == "$2a$10$rBV2JDeWW3.vKyeQcM8fFO"
                string contraseniaBcrypt = BCrypt.HashPassword(contrasenia, contraseniaSalt);
                //myHash == "$2a$10$rBV2JDeWW3.vKyeQcM8fFO4777l4bVeQgDL6VIkxqlzQ7TCalQvla"
                bool doesPasswordMatch = BCrypt.CheckPassword(contrasenia, contraseniaBcrypt);

                SqlCommand registrarCmd = new SqlCommand(registrarUsuarioQuery);
                registrarCmd.Parameters.AddWithValue("@usuario", usuario);
                registrarCmd.Parameters.AddWithValue("@contrasenia", contraseniaBcrypt);
                registrarCmd.Parameters.AddWithValue("@contrasenia_salt", contraseniaSalt);

                // Obtiene el resultado
                int resultadoFilasSQL = OperacionSQL.ExecuteNonQuery(cadenaConexion, registrarCmd);

                // Si es distinto mayor a 0, se habrá registrado el usuario
                if (resultadoFilasSQL > 0)
                {
                    Usuario creado = new Usuario(usuario, contrasenia, contraseniaBcrypt);
                    creado.ID = BBDDPrograma.ObtenerIDUsuario(creado);
                    return(new ResultadoRegistro(ResultadoRegistro.TipoResultado.ACEPTADO, creado));
                }
                else
                {
                    return(new ResultadoRegistro(ResultadoRegistro.TipoResultado.ERROR_CONEXION, null));
                }
            }
        }