Add InstanceMode and PageNumber to WorkflowModel
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<PackageId>Caspian.WorkflowFramework</PackageId>
|
<PackageId>Caspian.WorkflowFramework</PackageId>
|
||||||
<Version>1.1.0-preview.7</Version>
|
<Version>1.1.0-preview.9</Version>
|
||||||
<Authors>Digital banking team</Authors>
|
<Authors>Digital banking team</Authors>
|
||||||
<Company>Caspian</Company>
|
<Company>Caspian</Company>
|
||||||
<Product>Caspian.WorkflowFramework</Product>
|
<Product>Caspian.WorkflowFramework</Product>
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
using System.Text.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.Json;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
|
|
||||||
namespace Caspian.WorkflowFramework.Models;
|
namespace Caspian.WorkflowFramework.Models;
|
||||||
@@ -10,6 +15,14 @@ public class WorkflowModel
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string? InstanceId { get; set; }
|
public string? InstanceId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نوع نمونه
|
||||||
|
/// <remark>
|
||||||
|
/// exist, new, ...
|
||||||
|
/// </remark>
|
||||||
|
/// </summary>
|
||||||
|
public string? InstanceMode { get; set; } = "exist";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// نام گردش کار
|
/// نام گردش کار
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -43,6 +56,11 @@ public class WorkflowModel
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string? NextPageUrl { get; set; }
|
public string? NextPageUrl { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره صفحه
|
||||||
|
/// </summary>
|
||||||
|
public int? PageNumber { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// رویدادی که باید پس از سابمیت صفحه بعدی منتشر شود
|
/// رویدادی که باید پس از سابمیت صفحه بعدی منتشر شود
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
using Caspian.WorkflowFramework.Contracts;
|
using System.Diagnostics;
|
||||||
|
using System.Dynamic;
|
||||||
|
using System.Text.Json;
|
||||||
|
using Caspian.WorkflowFramework.Contracts;
|
||||||
using Caspian.WorkflowFramework.Models;
|
using Caspian.WorkflowFramework.Models;
|
||||||
using Caspian.WorkflowFramework.Utility;
|
using Caspian.WorkflowFramework.Utility;
|
||||||
using Elsa.Common.Entities;
|
using Elsa.Common.Entities;
|
||||||
@@ -13,14 +16,10 @@ using Microsoft.Extensions.DependencyInjection;
|
|||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
using San.MongoLogger;
|
using San.MongoLogger;
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Dynamic;
|
|
||||||
using System.Text.Json;
|
|
||||||
|
|
||||||
namespace Caspian.WorkflowFramework.Services
|
namespace Caspian.WorkflowFramework.Services;
|
||||||
|
public class WorkflowService : IWorkflowService, ILoggable
|
||||||
{
|
{
|
||||||
public class WorkflowService : IWorkflowService, ILoggable
|
|
||||||
{
|
|
||||||
#region Fields
|
#region Fields
|
||||||
private readonly IServiceProvider _serviceProvider;
|
private readonly IServiceProvider _serviceProvider;
|
||||||
private readonly IWorkflowRuntime _workflowRuntime;
|
private readonly IWorkflowRuntime _workflowRuntime;
|
||||||
@@ -103,6 +102,7 @@ namespace Caspian.WorkflowFramework.Services
|
|||||||
var workflowModel = dictionary.ConvertToWorkflowModel();
|
var workflowModel = dictionary.ConvertToWorkflowModel();
|
||||||
workflowModel.InstanceId = workflowClient.WorkflowInstanceId;
|
workflowModel.InstanceId = workflowClient.WorkflowInstanceId;
|
||||||
workflowModel.UserId = input.UserId;
|
workflowModel.UserId = input.UserId;
|
||||||
|
workflowModel.InstanceMode = "exist";
|
||||||
|
|
||||||
response = new WorkflowResponse<WorkflowModel>()
|
response = new WorkflowResponse<WorkflowModel>()
|
||||||
{
|
{
|
||||||
@@ -191,10 +191,11 @@ namespace Caspian.WorkflowFramework.Services
|
|||||||
// WorkflowStatus = WorkflowStatus.Running
|
// WorkflowStatus = WorkflowStatus.Running
|
||||||
// });
|
// });
|
||||||
|
|
||||||
var workflowInstanceId = string.Empty;
|
string workflowInstanceId = string.Empty;
|
||||||
if (runningWorkflowInstance != null)
|
if (runningWorkflowInstance != null)
|
||||||
{
|
{
|
||||||
workflowInstanceId = runningWorkflowInstance.Id;
|
workflowInstanceId = runningWorkflowInstance.Id;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -221,6 +222,7 @@ namespace Caspian.WorkflowFramework.Services
|
|||||||
var workflowModel = dictionary.ConvertToWorkflowModel();
|
var workflowModel = dictionary.ConvertToWorkflowModel();
|
||||||
workflowModel.InstanceId = workflowInstanceId;
|
workflowModel.InstanceId = workflowInstanceId;
|
||||||
workflowModel.UserId = input.UserId;
|
workflowModel.UserId = input.UserId;
|
||||||
|
workflowModel.InstanceId = runningWorkflowInstance != null ? "exist" : "new";
|
||||||
|
|
||||||
response = new WorkflowResponse<WorkflowModel>()
|
response = new WorkflowResponse<WorkflowModel>()
|
||||||
{
|
{
|
||||||
@@ -310,6 +312,7 @@ namespace Caspian.WorkflowFramework.Services
|
|||||||
var workflowModel = dictionary.ConvertToWorkflowModel();
|
var workflowModel = dictionary.ConvertToWorkflowModel();
|
||||||
workflowModel.InstanceId = instance.Id;
|
workflowModel.InstanceId = instance.Id;
|
||||||
workflowModel.UserId = instance.ExternalUserId;
|
workflowModel.UserId = instance.ExternalUserId;
|
||||||
|
workflowModel.InstanceMode = "exist";
|
||||||
|
|
||||||
response = new WorkflowResponse<WorkflowModel>()
|
response = new WorkflowResponse<WorkflowModel>()
|
||||||
{
|
{
|
||||||
@@ -380,6 +383,7 @@ namespace Caspian.WorkflowFramework.Services
|
|||||||
var workflowModel = dictionary.ConvertToWorkflowModel();
|
var workflowModel = dictionary.ConvertToWorkflowModel();
|
||||||
workflowModel.InstanceId = instance.Id;
|
workflowModel.InstanceId = instance.Id;
|
||||||
workflowModel.UserId = instance.ExternalUserId;
|
workflowModel.UserId = instance.ExternalUserId;
|
||||||
|
workflowModel.InstanceMode = "exist";
|
||||||
|
|
||||||
response = new WorkflowResponse<WorkflowModel>()
|
response = new WorkflowResponse<WorkflowModel>()
|
||||||
{
|
{
|
||||||
@@ -437,6 +441,7 @@ namespace Caspian.WorkflowFramework.Services
|
|||||||
var model = dict.ConvertToWorkflowModel();
|
var model = dict.ConvertToWorkflowModel();
|
||||||
model.InstanceId = instance.Id;
|
model.InstanceId = instance.Id;
|
||||||
model.UserId = instance.ExternalUserId;
|
model.UserId = instance.ExternalUserId;
|
||||||
|
model.InstanceMode = "exist";
|
||||||
|
|
||||||
result.Add(model);
|
result.Add(model);
|
||||||
}
|
}
|
||||||
@@ -561,6 +566,7 @@ namespace Caspian.WorkflowFramework.Services
|
|||||||
var model = dict.ConvertToWorkflowModel();
|
var model = dict.ConvertToWorkflowModel();
|
||||||
model.InstanceId = latest.Id;
|
model.InstanceId = latest.Id;
|
||||||
model.UserId = latest.ExternalUserId;
|
model.UserId = latest.ExternalUserId;
|
||||||
|
model.InstanceMode = "exist";
|
||||||
|
|
||||||
var response = new WorkflowResponse<WorkflowModel>
|
var response = new WorkflowResponse<WorkflowModel>
|
||||||
{
|
{
|
||||||
@@ -717,5 +723,4 @@ namespace Caspian.WorkflowFramework.Services
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,10 @@ namespace Caspian.WorkflowFramework.Utility
|
|||||||
? dictionary[nameof(workflowModel.InstanceId)]?.ToString()
|
? dictionary[nameof(workflowModel.InstanceId)]?.ToString()
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
|
workflowModel.InstanceMode = dictionary.ContainsKey(nameof(workflowModel.InstanceMode))
|
||||||
|
? dictionary[nameof(workflowModel.InstanceMode)]?.ToString()
|
||||||
|
: null;
|
||||||
|
|
||||||
workflowModel.Name = dictionary.ContainsKey(nameof(workflowModel.Name))
|
workflowModel.Name = dictionary.ContainsKey(nameof(workflowModel.Name))
|
||||||
? dictionary[nameof(workflowModel.Name)]?.ToString()
|
? dictionary[nameof(workflowModel.Name)]?.ToString()
|
||||||
: null;
|
: null;
|
||||||
@@ -101,6 +105,10 @@ namespace Caspian.WorkflowFramework.Utility
|
|||||||
? dictionary[nameof(workflowModel.NextPageUrl)]?.ToString()
|
? dictionary[nameof(workflowModel.NextPageUrl)]?.ToString()
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
|
workflowModel.PageNumber = dictionary.ContainsKey(nameof(workflowModel.PageNumber))
|
||||||
|
? int.TryParse(dictionary[nameof(workflowModel.PageNumber)]?.ToString(), out var pageNumber) ? pageNumber : (int?)null
|
||||||
|
: null;
|
||||||
|
|
||||||
workflowModel.NextPageEventName = dictionary.ContainsKey(nameof(workflowModel.NextPageEventName))
|
workflowModel.NextPageEventName = dictionary.ContainsKey(nameof(workflowModel.NextPageEventName))
|
||||||
? dictionary[nameof(workflowModel.NextPageEventName)]?.ToString()
|
? dictionary[nameof(workflowModel.NextPageEventName)]?.ToString()
|
||||||
: null;
|
: null;
|
||||||
|
|||||||
Reference in New Issue
Block a user