using LSFE.MobApp.Entities.Location; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; namespace LSFE.MobApp.Contracts { public interface IRepository where T : class, new() { Task> GetAllAsync(); Task GetByIdAsync(int id); Task> GetActiveAsync(); Task SaveAsync(T item); Task UpdateAsync(T item); Task DeleteAsync(T item); Task DeleteAsync(int id); Task TruncateAsync(); Task> QueryAsync(string query, params object[] args); Task FirstOrDefaultAsync(Expression> predicate); Task> WhereAsync(Expression> predicate); } }