You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ILuCrudInterface.cs 782B

12345678910111213141516171819202122232425
  1. using System;
  2. using Luticate2.Utils.Dbo.Basic;
  3. using Luticate2.Utils.Dbo.PaginatedRequest;
  4. using Luticate2.Utils.Dbo.Result;
  5. namespace Luticate2.Utils.Interfaces
  6. {
  7. public interface ILuCrudInterface<TDboCreate, TDboRead, TDboUpdate, TId>
  8. where TDboCreate : class
  9. where TDboRead : class
  10. where TDboUpdate : class
  11. {
  12. TId GetDboId(TDboRead obj);
  13. LuResult<T> Add<T>(TDboCreate obj, Func<TDboRead, T> returnFunc);
  14. LuResult<TDboRead> GetSingleById(TId id);
  15. LuResult<LuPaginatedDbo<TDboRead>> GetMultiple(LuPaginatedRequestDbo request);
  16. LuResult<T> EditSingleById<T>(TId id, TDboUpdate update, Func<TDboRead, T> returnFunc);
  17. LuResult<T> DeleteSingleById<T>(TId id, Func<TDboRead, T> returnFunc);
  18. }
  19. }