using System; using System.Collections.Generic; using Luticate2.Utils.Dbo.Basic; using Luticate2.Utils.Dbo.Filter; using Luticate2.Utils.Dbo.OrderBy; using Luticate2.Utils.Dbo.Result; namespace Luticate2.Utils.Interfaces { public interface ILuCrudInterface where TDboCreate : class where TDboRead : class where TDboUpdate : class { LuResult Add(IEnumerable objs, Func, T> returnFunc); LuResult Add(TDboCreate obj, Func returnFunc); LuResult> AddId(IEnumerable objs); LuResult AddId(TDboCreate obj); LuResult> AddDbo(IEnumerable obj); LuResult AddDbo(TDboCreate obj); LuResult GetSingleById(TId id); LuResult> GetMultiple(LuOrderByDbo orderBy, LuFilterDbo filter, int page = 0, int perPage = int.MaxValue); LuResult> GetMultiple(LuOrderByDbo orderBy, int page = 0, int perPage = int.MaxValue); LuResult EditSingleById(TId id, TDboUpdate update, Func returnFunc); LuResult EditSingleByIdId(TId id, TDboUpdate update); LuResult EditSingleByIdDbo(TId id, TDboUpdate update); LuResult DeleteSingleById(TId id, Func returnFunc); LuResult DeleteSingleByIdId(TId id); LuResult DeleteSingleByIdDbo(TId id); } }