Skip to content

Commit 7e12a91

Browse files
committed
Interfaces
1 parent dc5f0f5 commit 7e12a91

6 files changed

Lines changed: 129 additions & 0 deletions

Interfaces/IPersistenceProvider.cs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using OptimaJet.Workflow.Core.Model;
4+
using OptimaJet.Workflow.Core.Runtime;
5+
6+
namespace OptimaJet.Workflow.Core.Persistence
7+
{
8+
public interface IPersistenceProvider
9+
{
10+
void Init(WorkflowRuntime runtime);
11+
void InitializeProcess (ProcessInstance processInstance);
12+
void FillProcessParameters(ProcessInstance processInstance);
13+
void FillPersistedProcessParameters(ProcessInstance processInstance);
14+
void FillSystemProcessParameters(ProcessInstance processInstance);
15+
void SavePersistenceParameters(ProcessInstance processInstance);
16+
void SetWorkflowIniialized(ProcessInstance processInstance);
17+
void SetWorkflowIdled(ProcessInstance processInstance);
18+
void SetWorkflowRunning(ProcessInstance processInstance);
19+
void SetWorkflowFinalized(ProcessInstance processInstance);
20+
void SetWorkflowTerminated(ProcessInstance processInstance, ErrorLevel level, string errorMessage);
21+
void ResetWorkflowRunning();
22+
void UpdatePersistenceState(ProcessInstance processInstance, TransitionDefinition transition);
23+
bool IsProcessExists(Guid processId);
24+
ProcessStatus GetInstanceStatus(Guid processId);
25+
void BindProcessToNewScheme(ProcessInstance processInstance);
26+
void BindProcessToNewScheme(ProcessInstance processInstance, bool resetIsDeterminingParametersChanged);
27+
void RegisterTimer(Guid processId, string name, DateTime nextExecutionDateTime, bool notOverrideIfExists);
28+
void ClearTimers(Guid processId, List<string> timersIgnoreList);
29+
void ClearTimersIgnore();
30+
void ClearTimer(Guid timerId);
31+
DateTime? GetCloseExecutionDateTime();
32+
List<TimerToExecute> GetTimersToExecute();
33+
void DeleteProcess(Guid processId);
34+
void DeleteProcess(Guid[] processIds);
35+
}
36+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using OptimaJet.Workflow.Core.Fault;
4+
using OptimaJet.Workflow.Core.Model;
5+
6+
namespace OptimaJet.Workflow.Core.Persistence
7+
{
8+
//Все работы связанные с хранилищем возможно рабиение на отдельные интерфейсы
9+
10+
public interface ISchemePersistenceProvider<TSchemeMedium> where TSchemeMedium : class
11+
{
12+
SchemeDefinition<TSchemeMedium> GetProcessSchemeByProcessId(Guid processId);
13+
SchemeDefinition<TSchemeMedium> GetProcessSchemeBySchemeId(Guid schemeId);
14+
SchemeDefinition<TSchemeMedium> GetProcessSchemeWithParameters(string schemeCode,
15+
IDictionary<string, object> parameters,
16+
bool ignoreObsolete);
17+
SchemeDefinition<TSchemeMedium> GetProcessSchemeWithParameters(string schemeCode,
18+
IDictionary<string, object> parameters);
19+
TSchemeMedium GetScheme(string code);
20+
21+
void SaveScheme(string SchemeCode,
22+
Guid schemeId,
23+
TSchemeMedium scheme,
24+
IDictionary<string, object> parameters);
25+
26+
void SetSchemeIsObsolete(string schemeCode, IDictionary<string, object> parameters);
27+
28+
void SetSchemeIsObsolete(string schemeCode);
29+
30+
void SaveScheme(string schemeCode, string scheme);
31+
}
32+
}

Interfaces/ITimerManager.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using OptimaJet.Workflow.Core.Model;
2+
using OptimaJet.Workflow.Core.Persistence;
3+
4+
namespace OptimaJet.Workflow.Core.Runtime
5+
{
6+
public interface ITimerManager
7+
{
8+
void RegisterTimers(ProcessInstance processInstance);
9+
10+
void ClearAndRegisterTimers(ProcessInstance processInstance);
11+
12+
void ClearTimers(ProcessInstance processInstance);
13+
14+
void Init(WorkflowRuntime runtime);
15+
16+
void Start();
17+
18+
void Stop();
19+
20+
void Refresh();
21+
}
22+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using OptimaJet.Workflow.Core.Model;
6+
7+
namespace OptimaJet.Workflow.Core.Runtime
8+
{
9+
public interface IWorkflowActionProvider
10+
{
11+
void ExecuteAction(string name, ProcessInstance processInstance, string actionParameter);
12+
bool ExecuteCondition(string name, ProcessInstance processInstance, string actionParameter);
13+
List<string> GetActions();
14+
}
15+
}

Interfaces/IWorkflowGenerator.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
using System;
2+
using System.Collections.Generic;
3+
4+
namespace OptimaJet.Workflow.Core.Generator
5+
{
6+
public interface IWorkflowGenerator<out TSchemeMedium> where TSchemeMedium : class
7+
{
8+
TSchemeMedium Generate(string SchemeCode, Guid schemeId, IDictionary<string, object> parameters);
9+
}
10+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
6+
namespace OptimaJet.Workflow.Core.Runtime
7+
{
8+
public interface IWorkflowRuleProvider
9+
{
10+
List<string> GetRules();
11+
bool Check(Guid processId, string identityId, string ruleName, string parameter);
12+
IEnumerable<string> GetIdentities(Guid processId, string ruleName, string parameter);
13+
}
14+
}

0 commit comments

Comments
 (0)