ITimberlinePoster.cs 691 B

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