Skip to content

Commit 7dc2e73

Browse files
committed
WFE 7.2.3 (autocommit)
1 parent 0e39184 commit 7dc2e73

61 files changed

Lines changed: 252 additions & 181 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.

Designer/workflowdesigner.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Providers/OptimaJet.Workflow.DbPersistence/OptimaJet.Workflow.MSSQL.deps.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
"targets": {
88
".NETStandard,Version=v2.0": {},
99
".NETStandard,Version=v2.0/": {
10-
"OptimaJet.Workflow.MSSQL/7.2.2": {
10+
"OptimaJet.Workflow.MSSQL/7.2.3": {
1111
"dependencies": {
1212
"Microsoft.Data.SqlClient": "2.1.2",
1313
"NETStandard.Library": "2.0.3",
14-
"WorkflowEngine.NETCore-Core": "7.2.2"
14+
"WorkflowEngine.NETCore-Core": "7.2.3"
1515
},
1616
"runtime": {
1717
"OptimaJet.Workflow.MSSQL.dll": {}
@@ -1461,7 +1461,7 @@
14611461
}
14621462
}
14631463
},
1464-
"WorkflowEngine.NETCore-Core/7.2.2": {
1464+
"WorkflowEngine.NETCore-Core/7.2.3": {
14651465
"dependencies": {
14661466
"Microsoft.CodeAnalysis.CSharp": "4.1.0",
14671467
"Microsoft.CodeAnalysis.CSharp.Scripting": "4.1.0",
@@ -1480,7 +1480,7 @@
14801480
}
14811481
},
14821482
"libraries": {
1483-
"OptimaJet.Workflow.MSSQL/7.2.2": {
1483+
"OptimaJet.Workflow.MSSQL/7.2.3": {
14841484
"type": "project",
14851485
"serviceable": false,
14861486
"sha512": ""
@@ -2283,7 +2283,7 @@
22832283
"path": "thomaslevesque.weakevent/4.1.0",
22842284
"hashPath": "thomaslevesque.weakevent.4.1.0.nupkg.sha512"
22852285
},
2286-
"WorkflowEngine.NETCore-Core/7.2.2": {
2286+
"WorkflowEngine.NETCore-Core/7.2.3": {
22872287
"type": "project",
22882288
"serviceable": false,
22892289
"sha512": ""
Binary file not shown.

Providers/OptimaJet.Workflow.DbPersistence/Source/MSSQLProvider.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -950,11 +950,11 @@ public virtual async Task<T> LoadGlobalParameterAsync<T>(string type, string nam
950950
: JsonConvert.DeserializeObject<T>(globalParameter.Value);
951951
}
952952

953-
public async Task<Dictionary<string, T>> LoadGlobalParametersWithNamesAsync<T>(string type)
953+
public async Task<Dictionary<string, T>> LoadGlobalParametersWithNamesAsync<T>(string type, Sorting sort = null)
954954
{
955955
using var connection = OpenConnection();
956956

957-
var parameters = await WorkflowGlobalParameter.SelectByTypeAndNameAsync(connection, type).ConfigureAwait(false);
957+
var parameters = await WorkflowGlobalParameter.SelectByTypeAndNameAsync(connection, type, null, sort).ConfigureAwait(false);
958958

959959
var dict = new Dictionary<string, T>();
960960
foreach (var parameter in parameters)
@@ -965,20 +965,20 @@ public async Task<Dictionary<string, T>> LoadGlobalParametersWithNamesAsync<T>(s
965965
return dict;
966966
}
967967

968-
public virtual async Task<List<T>> LoadGlobalParametersAsync<T>(string type)
968+
public virtual async Task<List<T>> LoadGlobalParametersAsync<T>(string type, Sorting sort = null)
969969
{
970970
using var connection = OpenConnection();
971971

972-
var parameters = await WorkflowGlobalParameter.SelectByTypeAndNameAsync(connection, type).ConfigureAwait(false);
972+
var parameters = await WorkflowGlobalParameter.SelectByTypeAndNameAsync(connection, type, null, sort).ConfigureAwait(false);
973973

974974
return parameters.Select(p => JsonConvert.DeserializeObject<T>(p.Value)).ToList();
975975
}
976976

977-
public virtual async Task<PagedResponse<T>> LoadGlobalParametersWithPagingAsync<T>(string type, Paging paging, string name = null)
977+
public virtual async Task<PagedResponse<T>> LoadGlobalParametersWithPagingAsync<T>(string type, Paging paging, string name = null, Sorting sort = null)
978978
{
979979
using var connection = OpenConnection();
980980
var parameters = await WorkflowGlobalParameter
981-
.SearchByTypeAndNameWithPagingAsync(connection, type, name, paging)
981+
.SearchByTypeAndNameWithPagingAsync(connection, type, name, paging, sort)
982982
.ConfigureAwait(false);
983983
var count = await WorkflowGlobalParameter.GetCountByTypeAndNameAsync(connection, type, name)
984984
.ConfigureAwait(false);

Providers/OptimaJet.Workflow.DbPersistence/Source/Models/WorkflowGlobalParameter.cs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Data;
55
using System.Threading.Tasks;
66
using OptimaJet.Workflow.Core.Entities;
7+
using OptimaJet.Workflow.Core.Helpers;
78
using OptimaJet.Workflow.Core.Persistence;
89
using OptimaJet.Workflow.MSSQL.Models;
910

@@ -23,25 +24,25 @@ public WorkflowGlobalParameter(string schemaName, int commandTimeout) : base(sch
2324
});
2425
}
2526

26-
public async Task<GlobalParameterEntity[]> SelectByTypeAndNameAsync(SqlConnection connection, string type, string name = null)
27+
public async Task<GlobalParameterEntity[]> SelectByTypeAndNameAsync(SqlConnection connection, string type,
28+
string name = null, Sorting sort = null)
2729
{
2830
string selectText = $"SELECT * FROM {ObjectName} WHERE [{nameof(GlobalParameterEntity.Type)}] = @type";
2931

32+
var parameters = new List<SqlParameter> {new("type", SqlDbType.NVarChar) {Value = type}};
33+
3034
if (!String.IsNullOrEmpty(name))
3135
{
32-
selectText = selectText + $" AND [{nameof(GlobalParameterEntity.Name)}] = @name";
36+
selectText += $" AND [{nameof(GlobalParameterEntity.Name)}] = @name";
37+
parameters.Add(new SqlParameter("name", SqlDbType.NVarChar) {Value = name});
3338
}
3439

35-
var p = new SqlParameter("type", SqlDbType.NVarChar) {Value = type};
36-
37-
if (String.IsNullOrEmpty(name))
40+
if (sort != null)
3841
{
39-
return await SelectAsync(connection, selectText, p).ConfigureAwait(false);
42+
selectText += $" ORDER BY [{sort.FieldName}] {sort.SortDirection.UpperName()}";
4043
}
4144

42-
var p1 = new SqlParameter("name", SqlDbType.NVarChar) { Value = name };
43-
44-
return await SelectAsync(connection, selectText, p, p1).ConfigureAwait(false);
45+
return await SelectAsync(connection, selectText, parameters.ToArray()).ConfigureAwait(false);
4546
}
4647

4748
private QueryDefinition GetBasicSearchQuery(string type, string name = null)
@@ -61,11 +62,14 @@ private QueryDefinition GetBasicSearchQuery(string type, string name = null)
6162
}
6263

6364
public async Task<GlobalParameterEntity[]> SearchByTypeAndNameWithPagingAsync(SqlConnection connection, string type,
64-
string name = null, Paging paging = null)
65+
string name = null, Paging paging = null, Sorting sort = null)
6566
{
6667
var queryDefinition = GetBasicSearchQuery(type, name);
6768
var parameters = queryDefinition.Parameters;
68-
var selectText = $"SELECT * {queryDefinition.Query} ORDER BY [{nameof(GlobalParameterEntity.Name)}]";
69+
70+
sort ??= Sorting.Create(nameof(GlobalParameterEntity.Name));
71+
72+
var selectText = $"SELECT * {queryDefinition.Query} ORDER BY [{sort.FieldName}] {sort.SortDirection.UpperName()}";
6973

7074
if (paging != null)
7175
{

Providers/OptimaJet.Workflow.DbPersistence/Source/OptimaJet.Workflow.MSSQL.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<AssemblyOriginatorKeyFile>Workflow.snk</AssemblyOriginatorKeyFile>
99
<AssemblyVersion>7.2.0</AssemblyVersion>
1010
<FileVersion>7.2.0</FileVersion>
11-
<Version>7.2.2</Version>
11+
<Version>7.2.3</Version>
1212
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
1313
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
1414
<Authors>OptimaJet, LLC</Authors>

Providers/OptimaJet.Workflow.MongoDB/OptimaJet.Workflow.MongoDB.deps.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
"targets": {
88
".NETStandard,Version=v2.0": {},
99
".NETStandard,Version=v2.0/": {
10-
"OptimaJet.Workflow.MongoDB/7.2.2": {
10+
"OptimaJet.Workflow.MongoDB/7.2.3": {
1111
"dependencies": {
1212
"MongoDB.Driver.signed": "2.10.4",
1313
"NETStandard.Library": "2.0.3",
1414
"System.Linq.Dynamic.Core": "1.2.8",
15-
"WorkflowEngine.NETCore-Core": "7.2.2"
15+
"WorkflowEngine.NETCore-Core": "7.2.3"
1616
},
1717
"runtime": {
1818
"OptimaJet.Workflow.MongoDB.dll": {}
@@ -1437,7 +1437,7 @@
14371437
}
14381438
}
14391439
},
1440-
"WorkflowEngine.NETCore-Core/7.2.2": {
1440+
"WorkflowEngine.NETCore-Core/7.2.3": {
14411441
"dependencies": {
14421442
"Microsoft.CodeAnalysis.CSharp": "4.1.0",
14431443
"Microsoft.CodeAnalysis.CSharp.Scripting": "4.1.0",
@@ -1456,7 +1456,7 @@
14561456
}
14571457
},
14581458
"libraries": {
1459-
"OptimaJet.Workflow.MongoDB/7.2.2": {
1459+
"OptimaJet.Workflow.MongoDB/7.2.3": {
14601460
"type": "project",
14611461
"serviceable": false,
14621462
"sha512": ""
@@ -2231,7 +2231,7 @@
22312231
"path": "thomaslevesque.weakevent/4.1.0",
22322232
"hashPath": "thomaslevesque.weakevent.4.1.0.nupkg.sha512"
22332233
},
2234-
"WorkflowEngine.NETCore-Core/7.2.2": {
2234+
"WorkflowEngine.NETCore-Core/7.2.3": {
22352235
"type": "project",
22362236
"serviceable": false,
22372237
"sha512": ""
512 Bytes
Binary file not shown.

Providers/OptimaJet.Workflow.MongoDB/Source/MongoDBProvider.cs

Lines changed: 40 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1136,11 +1136,17 @@ public virtual async Task<T> LoadGlobalParameterAsync<T>(string type, string nam
11361136
return default;
11371137
}
11381138

1139-
public async Task<Dictionary<string, T>> LoadGlobalParametersWithNamesAsync<T>(string type)
1139+
public async Task<Dictionary<string, T>> LoadGlobalParametersWithNamesAsync<T>(string type, Sorting sort = null)
11401140
{
11411141
IMongoCollection<WorkflowGlobalParameter> dbcoll = Store.GetCollection<WorkflowGlobalParameter>(MongoDBConstants.WorkflowGlobalParameterCollectionName);
1142-
var parameters = await (await dbcoll.FindAsync(item => item.Type == type).ConfigureAwait(false)).ToListAsync()
1143-
.ConfigureAwait(false);
1142+
1143+
var findOptions = sort is null ? null : new FindOptions<WorkflowGlobalParameter, WorkflowGlobalParameter>
1144+
{
1145+
Sort = GetSortDefinition<WorkflowGlobalParameter>(sort)
1146+
};
1147+
1148+
var asyncCursor = await dbcoll.FindAsync(item => item.Type == type, findOptions).ConfigureAwait(false);
1149+
var parameters = await asyncCursor.ToListAsync().ConfigureAwait(false);
11441150

11451151
var dict = new Dictionary<string, T>();
11461152
foreach (var parameter in parameters)
@@ -1151,33 +1157,41 @@ public async Task<Dictionary<string, T>> LoadGlobalParametersWithNamesAsync<T>(s
11511157
return dict;
11521158
}
11531159

1154-
public virtual async Task<List<T>> LoadGlobalParametersAsync<T>(string type)
1160+
public virtual async Task<List<T>> LoadGlobalParametersAsync<T>(string type, Sorting sort = null)
11551161
{
11561162
IMongoCollection<WorkflowGlobalParameter> dbcoll = Store.GetCollection<WorkflowGlobalParameter>(MongoDBConstants.WorkflowGlobalParameterCollectionName);
1157-
1158-
return (await (await dbcoll.FindAsync(item => item.Type == type).ConfigureAwait(false)).ToListAsync().ConfigureAwait(false))
1159-
.Select(gp => JsonConvert.DeserializeObject<T>(gp.Value))
1160-
.ToList();
1161-
}
11621163

1163-
public virtual async Task<PagedResponse<T>> LoadGlobalParametersWithPagingAsync<T>(string type, Paging paging, string name = null)
1164+
var findOptions = sort is null ? null : new FindOptions<WorkflowGlobalParameter, WorkflowGlobalParameter>
1165+
{
1166+
Sort = GetSortDefinition<WorkflowGlobalParameter>(sort)
1167+
};
1168+
1169+
var findAsync = dbcoll.FindAsync(item => item.Type == type, findOptions);
1170+
var asyncCursor = await findAsync.ConfigureAwait(false);
1171+
var parameters = await asyncCursor.ToListAsync().ConfigureAwait(false);
1172+
1173+
return parameters.Select(gp => JsonConvert.DeserializeObject<T>(gp.Value)).ToList();
1174+
}
1175+
1176+
public virtual async Task<PagedResponse<T>> LoadGlobalParametersWithPagingAsync<T>(string type, Paging paging, string name = null,
1177+
Sorting sort = null)
11641178
{
11651179
IMongoCollection<WorkflowGlobalParameter> dbcoll =
11661180
Store.GetCollection<WorkflowGlobalParameter>(MongoDBConstants.WorkflowGlobalParameterCollectionName);
1167-
1168-
var parametersQuery = dbcoll.AsQueryable().Where(c => c.Type == type);
1181+
var parametersQuery = dbcoll.Aggregate().Match(c => c.Type == type);
1182+
var countQuery = dbcoll.AsQueryable().Where(c => c.Type == type);
11691183

11701184
if (!String.IsNullOrEmpty(name))
11711185
{
1172-
parametersQuery = parametersQuery.Where(c => c.Name.ToLower().Contains(name.ToLower()));
1186+
parametersQuery = parametersQuery.Match(c => c.Name.ToLower().Contains(name.ToLower()));
1187+
countQuery = countQuery.Where(c => c.Name.ToLower().Contains(name.ToLower()));
11731188
}
11741189

1175-
var count = await parametersQuery.CountAsync().ConfigureAwait(false);
1176-
var parameters = await parametersQuery.OrderBy(c => c.Name)
1177-
.Skip(paging.SkipCount())
1178-
.Take(paging.PageSize)
1179-
.ToListAsync()
1180-
.ConfigureAwait(false);
1190+
sort ??= Sorting.Create(nameof(WorkflowGlobalParameter.Name));
1191+
parametersQuery = parametersQuery.Sort(GetSortDefinition<WorkflowGlobalParameter>(sort));
1192+
1193+
var count = await countQuery.CountAsync().ConfigureAwait(false);
1194+
var parameters = parametersQuery.Skip(paging.SkipCount()).Limit(paging.PageSize).ToList();
11811195

11821196
return new PagedResponse<T>()
11831197
{
@@ -2150,5 +2164,12 @@ private static string GetOrderParameters(List<(string parameterName,SortDirectio
21502164
orderParameters.Select(x => $"{x.parameterName} {x.sortDirection.UpperName()}"));
21512165
return result;
21522166
}
2167+
2168+
private static SortDefinition<T> GetSortDefinition<T>(Sorting sort)
2169+
{
2170+
return sort.SortDirection == SortDirection.Desc
2171+
? Builders<T>.Sort.Descending(sort.FieldName)
2172+
: Builders<T>.Sort.Ascending(sort.FieldName);
2173+
}
21532174
}
21542175
}

Providers/OptimaJet.Workflow.MongoDB/Source/OptimaJet.Workflow.MongoDB.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
88
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
99
<PackageId>WorkflowEngine.NETCore-ProviderForMongoDB</PackageId>
10-
<Version>7.2.2</Version>
10+
<Version>7.2.3</Version>
1111
<AssemblyVersion>7.2.0</AssemblyVersion>
1212
<FileVersion>7.2.0</FileVersion>
1313
<Authors>OptimaJet, LLC</Authors>

0 commit comments

Comments
 (0)