Skip to content

FluentService

Marcelo edited this page Apr 24, 2019 · 1 revision

Vários métodos e propriedades estarão disponíveis para execução direto do controlador, ou de dentro do próprio serviço que herde de FluentService<T>. São eles:

/// Adiciona um item ao banco de dados.
public virtual void Add(T entity);

/// Adiciona vários itens de um mesmo tipo ao banco de dados.
public virtual void AddRange(params T[] entities);

/// Retorna a quantidade de itens existentes que satisfaçam a uma especificação
public virtual int Count(FluentSpecification<T> spec);

/// Retorna a quantidade de itens existentes que satisfaçam a uma especificação
public virtual int Count<TO>(FluentSelectSpecification<T, TO> spec);

/// Remove um item do banco de dados baseado em seu identificador.
public virtual void Delete(int id);

/// Avalia se um item existe no banco de dados, baseado em uma especificação.
public virtual bool Exists(FluentSpecification<T> spec);

/// Avalia se um item existe no banco de dados, baseado em uma especificação.
public virtual bool Exists<TO>(FluentSelectSpecification<T, TO> spec);

/// Consulta um item no banco de dados com base em seu id.
public virtual T Find(int id);

/// Executa uma solicitação baseada em uma especificação e retorna uma lista paginada de resultados.
public virtual List<T> Spec(FluentSpecification<T> spec, FluentPagination pagination = null);

/// Executa uma solicitação baseada em uma especificação e retorna uma lista paginada de resultados.
public virtual List<TO> Spec<TO>(FluentSelectSpecification<T, TO> spec, FluentPagination pagination = null);

/// Executa uma solicitação baseada em uma especificação e retorna um resultado ou nulo quando a consulta não é satisfeita.
public virtual T FirstOrDefault(FluentSpecification<T> spec);

/// Executa uma solicitação baseada em uma especificação e retorna um resultado ou nulo quando a consulta não é satisfeita.
public virtual TO FirstOrDefault<TO>(FluentSelectSpecification<T, TO> spec);

/// Atualiza um item do banco de dados baseado em seu identificador.
public virtual void Update(T entity);

Veja um exemplo de como utilizar o método Exists à partir do controlador:

public class UserController : FluentController<User>
{
    public bool Exists(int id)
    {
        var spec = new UserSpec(id);
        return Service.Exists(spec);
    }
}

Pra prosseguir, veja o item Paginação

Clone this wiki locally