ISlimLogicBase.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using CZFW.Framework.Model;
  2. using CZFW.Framework.Model.Entity;
  3. using CZFW.Framework.Model.ViewModel;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Linq;
  8. using System.Linq.Expressions;
  9. using System.Text;
  10. namespace CZFW.Framework.Interface
  11. {
  12. public interface ISlimLogicBase<TSlimEntity> : Model.Entity.IDependency
  13. where TSlimEntity : SlimEntityBase, new()
  14. {
  15. CZDbContext DbContext { get; }
  16. IQueryable<TSlimEntity> Queryable { get; }
  17. IQueryable<TSlimEntity> GetQueryable();
  18. ResultModel Commit();
  19. ResultModel AddEntity(TSlimEntity entity, bool save = true);
  20. ResultModel AddEntities(IList<TSlimEntity> entities, bool save = true, bool skipInvalid = true);
  21. ResultModel RemoveEntity(int id, bool save = true);
  22. ResultModel RemoveEntities(Expression<Func<TSlimEntity, bool>> condition, bool save = true);
  23. ResultModel EditEntity(TSlimEntity entity, bool save = true);
  24. ResultModel AddOrEditEntity(TSlimEntity entity, bool save = true);
  25. ResultModel ExcuteSql(string sql);
  26. TSlimEntity GetEntity(int id);
  27. TSlimEntity GetEntity(Expression<Func<TSlimEntity, bool>> condition);
  28. TVal GetValue<TVal>(Expression<Func<TSlimEntity, bool>> condition, Expression<Func<TSlimEntity, TVal>> selector);
  29. IList<TVal> GetValues<TVal>(Expression<Func<TSlimEntity, bool>> condition, Expression<Func<TSlimEntity, TVal>> selector);
  30. IList<TSlimEntity> GetEntities(Expression<Func<TSlimEntity, bool>> condition);
  31. IList<TSlimEntity> GetEntities();
  32. IList<TSlimEntity> GetEntities<TVal>(
  33. Expression<Func<TSlimEntity, bool>> condition,
  34. Expression<Func<TSlimEntity, TVal>> orderBy,
  35. ListSortDirection direction);
  36. IList<TSlimEntity> GetEntities<TVal>(
  37. out int rows,
  38. Expression<Func<TSlimEntity, bool>> condition = null,
  39. int pageIndex = 1,
  40. int pageSize = 20,
  41. Expression<Func<TSlimEntity, TVal>> orderBy = null,
  42. ListSortDirection direction = ListSortDirection.Descending
  43. );
  44. IList<TSlimEntity> GetEntities(int pageSize, int pageIndex, out int rows);
  45. int GetCount(Expression<Func<TSlimEntity, bool>> condition);
  46. }
  47. }