17 lines
537 B
C#

using DAL.Models;
using System.Linq.Expressions;
namespace API.Services.Interfaces
{
public interface IGenericService<in T, TModel, out TAudit>
{
TModel? get(ulong id, User user);
IEnumerable<TModel>? get(User user, Expression<Func<TModel, bool>>? whereClause = null);
TModel? getNoAuthentication(ulong id);
IEnumerable<TModel> getNoAuthentication(Expression<Func<TModel, bool>>? whereClause = null);
TModel? add(T item, User user);
TModel? update(TModel model, User user);
TAudit? delete(TModel model, User user);
}
}