VberWorkflowModule.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using Abp.Modules;
  2. using Abp.Reflection.Extensions;
  3. using VberZero.Workflow.StepBodies;
  4. using WorkflowCore.Interface;
  5. namespace VberZero.Workflow
  6. {
  7. public class VberWorkflowModule : AbpModule
  8. {
  9. public override void PreInitialize()
  10. {
  11. IocManager.Register<IVberPersistenceProvider, VberPersistenceProvider>();
  12. IocManager.Register<IVberWorkflowManager, VberWorkflowManager>();
  13. }
  14. public override void Initialize()
  15. {
  16. base.Initialize();
  17. IocManager.RegisterAssemblyByConvention(typeof(VberWorkflowModule).GetAssembly());
  18. }
  19. public override void PostInitialize()
  20. {
  21. base.PostInitialize();
  22. if (Configuration.GetWorkflowConfiguration().IsEnabled)
  23. {
  24. //IocManager.IocContainer.Install(new WorkflowInstaller(IocManager));
  25. IocManager.IocContainer.Install(new WorkflowInstaller());
  26. IocManager.Resolve<WorkflowStepBodyManager>().Initialize();
  27. var host = IocManager.Resolve<IWorkflowHost>();
  28. host.Start();
  29. IocManager.Resolve<VberWorkflowManager>().Initialize();
  30. }
  31. }
  32. public override void Shutdown()
  33. {
  34. base.Shutdown();
  35. if (Configuration.GetWorkflowConfiguration().IsEnabled)
  36. {
  37. IocManager.Resolve<IWorkflowHost>().Stop();
  38. }
  39. }
  40. }
  41. }