Skip to content

Commit 069282a

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

File tree

131 files changed

+1443
-731
lines changed

Some content is hidden

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

131 files changed

+1443
-731
lines changed

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)