Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

ILuCrudInterface.cs 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Collections.Generic;
  3. using Luticate2.Utils.Dbo.Basic;
  4. using Luticate2.Utils.Dbo.Filter;
  5. using Luticate2.Utils.Dbo.OrderBy;
  6. using Luticate2.Utils.Dbo.Result;
  7. namespace Luticate2.Utils.Interfaces
  8. {
  9. public interface ILuCrudInterface<TDboCreate, TDboRead, TDboUpdate, TId>
  10. where TDboCreate : class
  11. where TDboRead : class
  12. where TDboUpdate : class
  13. {
  14. LuResult<T> Add<T>(IEnumerable<TDboCreate> objs, Func<IEnumerable<TDboRead>, T> returnFunc);
  15. LuResult<T> Add<T>(TDboCreate obj, Func<TDboRead, T> returnFunc);
  16. LuResult<IEnumerable<TId>> AddId(IEnumerable<TDboCreate> objs);
  17. LuResult<TId> AddId(TDboCreate obj);
  18. LuResult<IEnumerable<TDboRead>> AddDbo(IEnumerable<TDboCreate> obj);
  19. LuResult<TDboRead> AddDbo(TDboCreate obj);
  20. LuResult<TDboRead> GetSingleById(TId id);
  21. LuResult<LuPaginatedDbo<TDboRead>> GetMultiple(LuOrderByDbo orderBy, LuFilterDbo filter,
  22. int page = 0, int perPage = int.MaxValue);
  23. LuResult<LuPaginatedDbo<TDboRead>> GetMultiple(LuOrderByDbo orderBy, int page = 0, int perPage = int.MaxValue);
  24. LuResult<T> EditSingleById<T>(TId id, TDboUpdate update, Func<TDboRead, T> returnFunc);
  25. LuResult<TId> EditSingleByIdId(TId id, TDboUpdate update);
  26. LuResult<TDboRead> EditSingleByIdDbo(TId id, TDboUpdate update);
  27. LuResult<T> DeleteSingleById<T>(TId id, Func<TDboRead, T> returnFunc);
  28. LuResult<TId> DeleteSingleByIdId(TId id);
  29. LuResult<TDboRead> DeleteSingleByIdDbo(TId id);
  30. }
  31. }