<?php
/**
 * Arquivo de declaração da classe ImagemArq.
 */
class ImagemArq extends Controller
{
    public $id;
    public $nome;
    public $imagem;
    public $site;
    public $email;
    public $telefone;
    public $slug;
    public $ativo;
    public $criadoem;

    /**
     * Método construtor.
     */
    public function __construct()
    {
    }

    /**
     * Método que irá retornar a quantidade.
     *
     * @param  string $condicao
     * @param  array  $parametros
     * @return string
     */
    public static function contador($condicao = '', $parametros = array())
    {
        return FabricaDAO::fabricar(static::className())->contador($condicao, $parametros);
    }

    /**
     * Método que irá retornar o último id.
     *
     * @return string
     */
    public static function ultimoId()
    {
        return FabricaDAO::fabricar(static::className())->ultimoId();
    }

    /**
     * Método para inserir.
     */
    public function inserir()
    {
        return FabricaDAO::fabricar(static::className())->inserir($this);
    }

    /**
     * Método que irá editar.
     */
    public function editar()
    {
        FabricaDAO::fabricar(static::className())->editar($this);
    }

    /**
     * Método para excluir.
     *
     * @param  int $id
     */
    public static function excluir($id = 0)
    {
        return FabricaDAO::fabricar(static::className())->excluir($id);
    }

    /**
     * Método que listará todos os dados.
     *
     * @param  string $condicao
     * @param  array  $parametros
     * @param  string $order
     * @param  string $limit
     * @param  string $offset
     */
    public static function listar($condicao = '', $parametros = array(), $order = '', $limit = '', $offset = '')
    {
        return FabricaDAO::fabricar(static::className())->listar($condicao, $parametros, $order, $limit, $offset);
    }

    /**
     * Método para buscar.
     *
     * @param  int $id
     * @return object
     */
    public static function buscar($id = 0)
    {
        return FabricaDAO::fabricar(static::className())->buscar($id);
    }

    /**
     * Método para buscar.
     *
     * @param  int $id
     * @return object
     */
    public static function buscarPorTipo($id = 0, $tipo = '')
    {
        return FabricaDAO::fabricar(static::className())->buscarPorTipo($id, $tipo);
    }

    /**
     * Método para mudar o status.
     *
     * @param  int $id
     */
    public static function mudaStatus($id = 0)
    {
        return FabricaDAO::fabricar(static::className())->mudaStatus($id);
    }

    /**
     * Método para listar no select
     *
     * @param  boolean $inicio
     * @return array
     */
    public static function arraySelect($inicio = false)
    {
        return FabricaDAO::fabricar(static::className())->arraySelect($inicio);
    }
}
