IDetailModel.cs 628 B

1234567891011121314151617181920212223242526
  1. using System;
  2. using InABox.Core;
  3. namespace comal.timesheets
  4. {
  5. public interface IDetailModel : IModel
  6. {
  7. }
  8. public interface IDetailModel<TParent, TItem, in TEntity> : IDetailModel
  9. where TParent : IDetailModel
  10. where TItem : Shell<TParent, TEntity>, new()
  11. where TEntity : Entity, IRemotable, IPersistent, new()
  12. {
  13. TItem Item { get; set; }
  14. void BeforeLoad(MultiQuery query);
  15. void AfterLoad(MultiQuery query);
  16. void Load(Action loaded = null);
  17. void Load(TEntity entity, Action loaded = null);
  18. }
  19. }