-
Notifications
You must be signed in to change notification settings - Fork 0
FluentService
Marcelo edited this page Oct 1, 2018
·
5 revisions
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
Entidades | Controller | Serviço | Especificações | Propagação | Validação | Repositório