ITimberlinePoster.cs 705 B

123456789101112131415161718192021222324
  1. using InABox.Core;
  2. using InABox.Scripting;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace InABox.Poster.Timberline
  9. {
  10. [Caption("Timberline")]
  11. public interface ITimberlinePoster<TEntity, TSettings> : IPoster<TEntity, TSettings>
  12. where TEntity : Entity, IPostable, IRemotable, IPersistent, new()
  13. where TSettings : TimberlinePosterSettings<TEntity>
  14. {
  15. ScriptDocument? Script { set; }
  16. bool BeforePost(IDataModel<TEntity> model);
  17. IPostResult<TEntity> Process(IDataModel<TEntity> model);
  18. void AfterPost(IDataModel<TEntity> model, IPostResult<TEntity> result);
  19. }
  20. }