using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace Hushian.Application.Contracts.Persistence
{
    public interface IGenericRepository<T> where T : class
    {
        IQueryable<T> Get();
        Task<T?> ADD(T entity);
        Task<ICollection<T>> ADD(ICollection<T> entities);
        Task<bool> ADDBool(T entity);
        Task<T?> UPDATE(T entity);
        Task<ICollection<T>> UPDATE(ICollection<T> entities);
        Task<bool> UPDATEBool(T entity);
        Task<bool> DELETE(T entity);
        Task<bool> DELETE(ICollection<T> entities);
    }
}
