Skip to content

Commit 069282a

Browse files
Thierry Habarthabarthierry-hue
authored andcommitted
Ticket #12 : support the role
1 parent 6edb0bc commit 069282a

131 files changed

Lines changed: 1443 additions & 731 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Architecture.pptx

30.2 KB
Binary file not shown.

CaseManagement.sln

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,36 @@ Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 16
44
VisualStudioVersion = 16.0.29418.71
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04. Tests", "04. Tests", "{A632EFC3-730B-46D7-B669-91962DFA8947}"
6+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02. Tests", "02. Tests", "{A632EFC3-730B-46D7-B669-91962DFA8947}"
77
EndProject
8-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01. CMMN", "01. CMMN", "{CD2E7CFE-4E9C-4308-A0D3-41CD5AD90FD8}"
8+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "00. CMMN", "00. CMMN", "{CD2E7CFE-4E9C-4308-A0D3-41CD5AD90FD8}"
99
EndProject
1010
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.CMMN", "src\CaseManagement.CMMN\CaseManagement.CMMN.csproj", "{CE4424E0-4EC0-45D0-9791-91864EDEA89B}"
1111
EndProject
12-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "00. Other", "00. Other", "{9360C4A1-A2AA-4493-BBDC-4044D78D8F4B}"
13-
EndProject
14-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.Workflow", "src\CaseManagement.Workflow\CaseManagement.Workflow.csproj", "{E3E72DF1-F427-4FEA-8F84-FB194EA20D07}"
15-
EndProject
1612
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.CMMN.Acceptance.Tests", "tests\CaseManagement.CMMN.Acceptance.Tests\CaseManagement.CMMN.Acceptance.Tests.csproj", "{2D288182-CD6B-46AF-B420-F2038875F6BC}"
1713
EndProject
18-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03. Website", "03. Website", "{D16A3E6D-32B6-44CF-9941-A9BDB9DFC6A7}"
14+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01. Website", "01. Website", "{D16A3E6D-32B6-44CF-9941-A9BDB9DFC6A7}"
1915
EndProject
2016
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.Website", "src\CaseManagement.Website\CaseManagement.Website.csproj", "{1A146C2E-708E-4B50-AE46-37B415CEAFC1}"
2117
EndProject
2218
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.CMMN.Host", "src\CaseManagement.CMMN.Host\CaseManagement.CMMN.Host.csproj", "{E4C5F767-299D-4D26-916B-59EC7C93CE90}"
2319
EndProject
24-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.Workflow.Tests", "tests\CaseManagement.Workflow.Tests\CaseManagement.Workflow.Tests.csproj", "{77FF9E1D-A705-4E04-84CA-FF42D3563F77}"
25-
EndProject
2620
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.CMMN.Tests", "tests\CaseManagement.CMMN.Tests\CaseManagement.CMMN.Tests.csproj", "{F005FA4D-312C-428C-93A7-4F02C01136A8}"
2721
EndProject
28-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "05. Benchmark", "05. Benchmark", "{73DCE7A3-F336-4E72-B36C-9D88860BC897}"
22+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03. Benchmark", "03. Benchmark", "{73DCE7A3-F336-4E72-B36C-9D88860BC897}"
2923
EndProject
3024
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.CMMN.Benchmark", "src\CaseManagement.CMMN.Benchmark\CaseManagement.CMMN.Benchmark.csproj", "{3DFF3970-7721-4087-8E41-F478D39C2095}"
3125
EndProject
3226
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.CMMN.CMIS", "src\CaseManagement.CMMN.CMIS\CaseManagement.CMMN.CMIS.csproj", "{2B86EDF0-DA2D-4FFE-9877-4CBA2999B0A5}"
3327
EndProject
3428
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.CMMN.CMIS.Tests", "tests\CaseManagement.CMMN.CMIS.Tests\CaseManagement.CMMN.CMIS.Tests.csproj", "{162D547F-D8E8-4B2F-A86C-3F74BF7F4F45}"
3529
EndProject
30+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CaseManagement.CMMN.AspNetCore", "src\CaseManagement.CMMN.AspNetCore\CaseManagement.CMMN.AspNetCore.csproj", "{A3B96AD1-0B79-4327-8AB3-2683B486EA24}"
31+
EndProject
32+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04. Startup", "04. Startup", "{4A5D2E88-20E8-4A3F-8527-A4934BC0E11F}"
33+
EndProject
34+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CaseManagement.ConsoleApp", "src\CaseManagement.ConsoleApp\CaseManagement.ConsoleApp.csproj", "{2AF59449-01BC-447B-8156-B285278E7956}"
35+
EndProject
3636
Global
3737
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3838
Debug|Any CPU = Debug|Any CPU
@@ -43,10 +43,6 @@ Global
4343
{CE4424E0-4EC0-45D0-9791-91864EDEA89B}.Debug|Any CPU.Build.0 = Debug|Any CPU
4444
{CE4424E0-4EC0-45D0-9791-91864EDEA89B}.Release|Any CPU.ActiveCfg = Release|Any CPU
4545
{CE4424E0-4EC0-45D0-9791-91864EDEA89B}.Release|Any CPU.Build.0 = Release|Any CPU
46-
{E3E72DF1-F427-4FEA-8F84-FB194EA20D07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47-
{E3E72DF1-F427-4FEA-8F84-FB194EA20D07}.Debug|Any CPU.Build.0 = Debug|Any CPU
48-
{E3E72DF1-F427-4FEA-8F84-FB194EA20D07}.Release|Any CPU.ActiveCfg = Release|Any CPU
49-
{E3E72DF1-F427-4FEA-8F84-FB194EA20D07}.Release|Any CPU.Build.0 = Release|Any CPU
5046
{2D288182-CD6B-46AF-B420-F2038875F6BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
5147
{2D288182-CD6B-46AF-B420-F2038875F6BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
5248
{2D288182-CD6B-46AF-B420-F2038875F6BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -59,10 +55,6 @@ Global
5955
{E4C5F767-299D-4D26-916B-59EC7C93CE90}.Debug|Any CPU.Build.0 = Debug|Any CPU
6056
{E4C5F767-299D-4D26-916B-59EC7C93CE90}.Release|Any CPU.ActiveCfg = Release|Any CPU
6157
{E4C5F767-299D-4D26-916B-59EC7C93CE90}.Release|Any CPU.Build.0 = Release|Any CPU
62-
{77FF9E1D-A705-4E04-84CA-FF42D3563F77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
63-
{77FF9E1D-A705-4E04-84CA-FF42D3563F77}.Debug|Any CPU.Build.0 = Debug|Any CPU
64-
{77FF9E1D-A705-4E04-84CA-FF42D3563F77}.Release|Any CPU.ActiveCfg = Release|Any CPU
65-
{77FF9E1D-A705-4E04-84CA-FF42D3563F77}.Release|Any CPU.Build.0 = Release|Any CPU
6658
{F005FA4D-312C-428C-93A7-4F02C01136A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
6759
{F005FA4D-312C-428C-93A7-4F02C01136A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
6860
{F005FA4D-312C-428C-93A7-4F02C01136A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -79,21 +71,29 @@ Global
7971
{162D547F-D8E8-4B2F-A86C-3F74BF7F4F45}.Debug|Any CPU.Build.0 = Debug|Any CPU
8072
{162D547F-D8E8-4B2F-A86C-3F74BF7F4F45}.Release|Any CPU.ActiveCfg = Release|Any CPU
8173
{162D547F-D8E8-4B2F-A86C-3F74BF7F4F45}.Release|Any CPU.Build.0 = Release|Any CPU
74+
{A3B96AD1-0B79-4327-8AB3-2683B486EA24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
75+
{A3B96AD1-0B79-4327-8AB3-2683B486EA24}.Debug|Any CPU.Build.0 = Debug|Any CPU
76+
{A3B96AD1-0B79-4327-8AB3-2683B486EA24}.Release|Any CPU.ActiveCfg = Release|Any CPU
77+
{A3B96AD1-0B79-4327-8AB3-2683B486EA24}.Release|Any CPU.Build.0 = Release|Any CPU
78+
{2AF59449-01BC-447B-8156-B285278E7956}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
79+
{2AF59449-01BC-447B-8156-B285278E7956}.Debug|Any CPU.Build.0 = Debug|Any CPU
80+
{2AF59449-01BC-447B-8156-B285278E7956}.Release|Any CPU.ActiveCfg = Release|Any CPU
81+
{2AF59449-01BC-447B-8156-B285278E7956}.Release|Any CPU.Build.0 = Release|Any CPU
8282
EndGlobalSection
8383
GlobalSection(SolutionProperties) = preSolution
8484
HideSolutionNode = FALSE
8585
EndGlobalSection
8686
GlobalSection(NestedProjects) = preSolution
8787
{CE4424E0-4EC0-45D0-9791-91864EDEA89B} = {CD2E7CFE-4E9C-4308-A0D3-41CD5AD90FD8}
88-
{E3E72DF1-F427-4FEA-8F84-FB194EA20D07} = {9360C4A1-A2AA-4493-BBDC-4044D78D8F4B}
8988
{2D288182-CD6B-46AF-B420-F2038875F6BC} = {A632EFC3-730B-46D7-B669-91962DFA8947}
9089
{1A146C2E-708E-4B50-AE46-37B415CEAFC1} = {D16A3E6D-32B6-44CF-9941-A9BDB9DFC6A7}
91-
{E4C5F767-299D-4D26-916B-59EC7C93CE90} = {CD2E7CFE-4E9C-4308-A0D3-41CD5AD90FD8}
92-
{77FF9E1D-A705-4E04-84CA-FF42D3563F77} = {A632EFC3-730B-46D7-B669-91962DFA8947}
90+
{E4C5F767-299D-4D26-916B-59EC7C93CE90} = {4A5D2E88-20E8-4A3F-8527-A4934BC0E11F}
9391
{F005FA4D-312C-428C-93A7-4F02C01136A8} = {A632EFC3-730B-46D7-B669-91962DFA8947}
9492
{3DFF3970-7721-4087-8E41-F478D39C2095} = {73DCE7A3-F336-4E72-B36C-9D88860BC897}
9593
{2B86EDF0-DA2D-4FFE-9877-4CBA2999B0A5} = {CD2E7CFE-4E9C-4308-A0D3-41CD5AD90FD8}
9694
{162D547F-D8E8-4B2F-A86C-3F74BF7F4F45} = {A632EFC3-730B-46D7-B669-91962DFA8947}
95+
{A3B96AD1-0B79-4327-8AB3-2683B486EA24} = {CD2E7CFE-4E9C-4308-A0D3-41CD5AD90FD8}
96+
{2AF59449-01BC-447B-8156-B285278E7956} = {4A5D2E88-20E8-4A3F-8527-A4934BC0E11F}
9797
EndGlobalSection
9898
GlobalSection(ExtensibilityGlobals) = postSolution
9999
SolutionGuid = {D2CFBF2E-D493-42F7-B339-01A3070C2B5E}

src/CaseManagement.Workflow/Infrastructure/Bus/BusHostedService.cs renamed to src/CaseManagement.CMMN.AspNetCore/BusHostedService.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
using Microsoft.Extensions.Hosting;
1+
using CaseManagement.CMMN.Infrastructures.Bus;
2+
using Microsoft.Extensions.Hosting;
23
using System.Collections.Generic;
34
using System.Threading;
45
using System.Threading.Tasks;
56

6-
namespace CaseManagement.Workflow.Infrastructure.Bus
7+
namespace CaseManagement.CMMN.AspNetCore
78
{
89
public class BusHostedService : IHostedService
910
{
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
namespace CaseManagement.CMMN.AspNetCore
2+
{
3+
public static class CMMNApiConstants
4+
{
5+
public static class RouteNames
6+
{
7+
public const string CaseFiles = "case-files";
8+
public const string CaseDefinitions = "case-definitions";
9+
public const string CaseInstances = "case-instances";
10+
public const string CaseProcesses = "case-processes";
11+
public const string CaseFormInstances = "case-form-instances";
12+
public const string CaseActivations = "case-activations";
13+
public const string Statistics = "statistics";
14+
}
15+
}
16+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFramework>netstandard2.0</TargetFramework>
4+
<Description>CaseManagement ASPNETCORE.</Description>
5+
</PropertyGroup>
6+
<ItemGroup>
7+
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.0" />
8+
</ItemGroup>
9+
<ItemGroup>
10+
<ProjectReference Include="..\CaseManagement.CMMN\CaseManagement.CMMN.csproj" />
11+
</ItemGroup>
12+
</Project>

src/CaseManagement.CMMN/Apis/CaseActivationsController.cs renamed to src/CaseManagement.CMMN.AspNetCore/Controllers/CaseActivationsController.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
using CaseManagement.CMMN.Domains;
2-
using CaseManagement.CMMN.Extensions;
1+
using CaseManagement.CMMN.AspNetCore.Extensions;
2+
using CaseManagement.CMMN.Domains;
33
using CaseManagement.CMMN.Persistence;
44
using CaseManagement.CMMN.Persistence.Parameters;
55
using CaseManagement.CMMN.Persistence.Responses;
@@ -10,9 +10,9 @@
1010
using System.Linq;
1111
using System.Threading.Tasks;
1212

13-
namespace CaseManagement.CMMN.Apis
13+
namespace CaseManagement.CMMN.AspNetCore.Controllers
1414
{
15-
[Route(CMMNConstants.RouteNames.CaseActivations)]
15+
[Route(CMMNApiConstants.RouteNames.CaseActivations)]
1616
public class CaseActivationsController : Controller
1717
{
1818
private readonly IActivationQueryRepository _activationQueryRepository;

src/CaseManagement.CMMN/Apis/CaseDefinitionsController.cs renamed to src/CaseManagement.CMMN.AspNetCore/Controllers/CaseDefinitionsController.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
using CaseManagement.CMMN.Domains;
2-
using CaseManagement.CMMN.Extensions;
1+
using CaseManagement.CMMN.AspNetCore.Extensions;
2+
using CaseManagement.CMMN.Domains;
33
using CaseManagement.CMMN.Persistence;
44
using CaseManagement.CMMN.Persistence.Parameters;
55
using CaseManagement.CMMN.Persistence.Responses;
@@ -9,9 +9,9 @@
99
using System.Linq;
1010
using System.Threading.Tasks;
1111

12-
namespace CaseManagement.CMMN.Apis
12+
namespace CaseManagement.CMMN.AspNetCore.Controllers
1313
{
14-
[Route(CMMNConstants.RouteNames.CaseDefinitions)]
14+
[Route(CMMNApiConstants.RouteNames.CaseDefinitions)]
1515
public class CaseDefinitionsController : Controller
1616
{
1717
private readonly ICaseDefinitionQueryRepository _queryRepository;

src/CaseManagement.CMMN/Apis/CaseFilesController.cs renamed to src/CaseManagement.CMMN.AspNetCore/Controllers/CaseFilesController.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
using CaseManagement.CMMN.Domains.CaseFile;
2-
using CaseManagement.CMMN.Extensions;
1+
using CaseManagement.CMMN.AspNetCore.Extensions;
2+
using CaseManagement.CMMN.Domains.CaseFile;
33
using CaseManagement.CMMN.Persistence;
44
using CaseManagement.CMMN.Persistence.Parameters;
55
using CaseManagement.CMMN.Persistence.Responses;
@@ -9,9 +9,9 @@
99
using System.Linq;
1010
using System.Threading.Tasks;
1111

12-
namespace CaseManagement.CMMN.Apis
12+
namespace CaseManagement.CMMN.AspNetCore.Controllers
1313
{
14-
[Route(CMMNConstants.RouteNames.CaseFiles)]
14+
[Route(CMMNApiConstants.RouteNames.CaseFiles)]
1515
public class CaseFilesController : Controller
1616
{
1717
private readonly ICaseFileQueryRepository _queryRepository;

src/CaseManagement.CMMN/Apis/CaseFormInstancesController.cs renamed to src/CaseManagement.CMMN.AspNetCore/Controllers/CaseFormInstancesController.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
using CaseManagement.CMMN.Domains;
2-
using CaseManagement.CMMN.Extensions;
1+
using CaseManagement.CMMN.AspNetCore.Extensions;
2+
using CaseManagement.CMMN.Domains;
33
using CaseManagement.CMMN.Persistence;
44
using CaseManagement.CMMN.Persistence.Parameters;
55
using CaseManagement.CMMN.Persistence.Responses;
@@ -12,9 +12,9 @@
1212
using System.Linq;
1313
using System.Threading.Tasks;
1414

15-
namespace CaseManagement.CMMN.Apis
15+
namespace CaseManagement.CMMN.AspNetCore.Controllers
1616
{
17-
[Route(CMMNConstants.RouteNames.CaseFormInstances)]
17+
[Route(CMMNApiConstants.RouteNames.CaseFormInstances)]
1818
public class CaseFormInstancesController : Controller
1919
{
2020
private readonly IFormInstanceQueryRepository _formInstanceQueryRepository;

src/CaseManagement.CMMN/Apis/CaseInstancesController.cs renamed to src/CaseManagement.CMMN.AspNetCore/Controllers/CaseInstancesController.cs

Lines changed: 47 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
using CaseManagement.CMMN.CaseInstance.CommandHandlers;
1+
using CaseManagement.CMMN.AspNetCore.Extensions;
2+
using CaseManagement.CMMN.CaseInstance.CommandHandlers;
23
using CaseManagement.CMMN.CaseInstance.Commands;
34
using CaseManagement.CMMN.CaseInstance.Exceptions;
5+
using CaseManagement.CMMN.CaseInstance.Repositories;
46
using CaseManagement.CMMN.Domains;
5-
using CaseManagement.CMMN.Extensions;
7+
using CaseManagement.CMMN.Infrastructures;
68
using CaseManagement.CMMN.Persistence;
79
using CaseManagement.CMMN.Persistence.Parameters;
810
using CaseManagement.CMMN.Persistence.Responses;
9-
using CaseManagement.Workflow.Infrastructure;
1011
using Microsoft.AspNetCore.Authorization;
1112
using Microsoft.AspNetCore.Http;
1213
using Microsoft.AspNetCore.Mvc;
@@ -17,9 +18,9 @@
1718
using System.Net;
1819
using System.Threading.Tasks;
1920

20-
namespace CaseManagement.CMMN.Apis
21+
namespace CaseManagement.CMMN.AspNetCore.Controllers
2122
{
22-
[Route(CMMNConstants.RouteNames.CaseInstances)]
23+
[Route(CMMNApiConstants.RouteNames.CaseInstances)]
2324
public class CaseInstancesController : Controller
2425
{
2526
private readonly ICreateCaseInstanceCommandHandler _createCaseInstanceCommandHandler;
@@ -32,8 +33,9 @@ public class CaseInstancesController : Controller
3233
private readonly IConfirmFormCommandHandler _confirmFormCommandHandler;
3334
private readonly IActivateCommandHandler _activateCommandHandler;
3435
private readonly ICaseInstanceQueryRepository _cmmnWorkflowInstanceQueryRepository;
36+
private readonly ICaseFileItemRepository _caseFileItemRepository;
3537

36-
public CaseInstancesController(ICreateCaseInstanceCommandHandler createCaseInstanceCommandHandler, ILaunchCaseInstanceCommandHandler launchCaseInstanceCommandHandler, ISuspendCommandHandler suspendCommandHandler, IResumeCommandHandler resumeCommandHandler, ITerminateCommandHandler terminateCommandHandler, IReactivateCommandHandler reactivateCommandHandler, ICloseCommandHandler closeCommandHandler, IConfirmFormCommandHandler confirmFormCommandHandler, IActivateCommandHandler activateCommandHandler, ICaseInstanceQueryRepository cmmnWorkflowInstanceQueryRepository)
38+
public CaseInstancesController(ICreateCaseInstanceCommandHandler createCaseInstanceCommandHandler, ILaunchCaseInstanceCommandHandler launchCaseInstanceCommandHandler, ISuspendCommandHandler suspendCommandHandler, IResumeCommandHandler resumeCommandHandler, ITerminateCommandHandler terminateCommandHandler, IReactivateCommandHandler reactivateCommandHandler, ICloseCommandHandler closeCommandHandler, IConfirmFormCommandHandler confirmFormCommandHandler, IActivateCommandHandler activateCommandHandler, ICaseInstanceQueryRepository cmmnWorkflowInstanceQueryRepository, ICaseFileItemRepository caseFileItemRepository)
3739
{
3840
_createCaseInstanceCommandHandler = createCaseInstanceCommandHandler;
3941
_launchCaseInstanceCommandHandler = launchCaseInstanceCommandHandler;
@@ -45,6 +47,7 @@ public CaseInstancesController(ICreateCaseInstanceCommandHandler createCaseInsta
4547
_confirmFormCommandHandler = confirmFormCommandHandler;
4648
_activateCommandHandler = activateCommandHandler;
4749
_cmmnWorkflowInstanceQueryRepository = cmmnWorkflowInstanceQueryRepository;
50+
_caseFileItemRepository = caseFileItemRepository;
4851
}
4952

5053
[HttpGet(".search")]
@@ -67,6 +70,13 @@ public async Task<IActionResult> Get(string id)
6770
return new OkObjectResult(ToDto(result));
6871
}
6972

73+
[HttpGet("{id}/casefileitems")]
74+
public async Task<IActionResult> GetCaseFileItems(string id)
75+
{
76+
var result = await _caseFileItemRepository.FindByCaseInstance(id);
77+
return new OkObjectResult(ToDto(result));
78+
}
79+
7080
[HttpPost]
7181
public async Task<IActionResult> Create([FromBody] CreateCaseInstanceCommand createCaseInstance)
7282
{
@@ -482,6 +492,37 @@ private static JObject ToDto(FindResponse<Domains.CaseInstance> resp)
482492
};
483493
}
484494

495+
private static JObject ToDto(IEnumerable<CaseFileItem> caseFileItems)
496+
{
497+
var jArr = new JArray();
498+
var jObj = new JObject
499+
{
500+
{ "casefileitems", jArr }
501+
};
502+
foreach(var caseFileItem in caseFileItems)
503+
{
504+
jArr.Add(ToDto(caseFileItem));
505+
}
506+
507+
return jObj;
508+
}
509+
510+
private static JObject ToDto(CaseFileItem caseFileItem)
511+
{
512+
var result = new JObject
513+
{
514+
{ "element_definition_id", caseFileItem.CaseElementDefinitionId },
515+
{ "element_instance_id", caseFileItem.CaseElementInstanceId },
516+
{ "case_instance_id", caseFileItem.CaseInstanceId },
517+
{ "value", caseFileItem.Value },
518+
{ "id", caseFileItem.Id },
519+
{ "type", caseFileItem.Type },
520+
{ "create_datetime", caseFileItem.CreateDateTime }
521+
};
522+
return result;
523+
}
524+
525+
485526
private static JObject ToDto(Domains.CaseInstance workflowInstance)
486527
{
487528
var result = new JObject

0 commit comments

Comments
 (0)