Add InstanceMode and PageNumber to WorkflowModel
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<PackageId>Caspian.WorkflowFramework</PackageId>
|
||||
<Version>1.1.0-preview.7</Version>
|
||||
<Version>1.1.0-preview.9</Version>
|
||||
<Authors>Digital banking team</Authors>
|
||||
<Company>Caspian</Company>
|
||||
<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;
|
||||
|
||||
namespace Caspian.WorkflowFramework.Models;
|
||||
@@ -10,6 +15,14 @@ public class WorkflowModel
|
||||
/// </summary>
|
||||
public string? InstanceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوع نمونه
|
||||
/// <remark>
|
||||
/// exist, new, ...
|
||||
/// </remark>
|
||||
/// </summary>
|
||||
public string? InstanceMode { get; set; } = "exist";
|
||||
|
||||
/// <summary>
|
||||
/// نام گردش کار
|
||||
/// </summary>
|
||||
@@ -43,6 +56,11 @@ public class WorkflowModel
|
||||
/// </summary>
|
||||
public string? NextPageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره صفحه
|
||||
/// </summary>
|
||||
public int? PageNumber { get; set; }
|
||||
|
||||
/// <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.Utility;
|
||||
using Elsa.Common.Entities;
|
||||
@@ -13,12 +16,8 @@ using Microsoft.Extensions.DependencyInjection;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
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
|
||||
{
|
||||
#region Fields
|
||||
@@ -103,6 +102,7 @@ namespace Caspian.WorkflowFramework.Services
|
||||
var workflowModel = dictionary.ConvertToWorkflowModel();
|
||||
workflowModel.InstanceId = workflowClient.WorkflowInstanceId;
|
||||
workflowModel.UserId = input.UserId;
|
||||
workflowModel.InstanceMode = "exist";
|
||||
|
||||
response = new WorkflowResponse<WorkflowModel>()
|
||||
{
|
||||
@@ -191,10 +191,11 @@ namespace Caspian.WorkflowFramework.Services
|
||||
// WorkflowStatus = WorkflowStatus.Running
|
||||
// });
|
||||
|
||||
var workflowInstanceId = string.Empty;
|
||||
string workflowInstanceId = string.Empty;
|
||||
if (runningWorkflowInstance != null)
|
||||
{
|
||||
workflowInstanceId = runningWorkflowInstance.Id;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -221,6 +222,7 @@ namespace Caspian.WorkflowFramework.Services
|
||||
var workflowModel = dictionary.ConvertToWorkflowModel();
|
||||
workflowModel.InstanceId = workflowInstanceId;
|
||||
workflowModel.UserId = input.UserId;
|
||||
workflowModel.InstanceId = runningWorkflowInstance != null ? "exist" : "new";
|
||||
|
||||
response = new WorkflowResponse<WorkflowModel>()
|
||||
{
|
||||
@@ -310,6 +312,7 @@ namespace Caspian.WorkflowFramework.Services
|
||||
var workflowModel = dictionary.ConvertToWorkflowModel();
|
||||
workflowModel.InstanceId = instance.Id;
|
||||
workflowModel.UserId = instance.ExternalUserId;
|
||||
workflowModel.InstanceMode = "exist";
|
||||
|
||||
response = new WorkflowResponse<WorkflowModel>()
|
||||
{
|
||||
@@ -380,6 +383,7 @@ namespace Caspian.WorkflowFramework.Services
|
||||
var workflowModel = dictionary.ConvertToWorkflowModel();
|
||||
workflowModel.InstanceId = instance.Id;
|
||||
workflowModel.UserId = instance.ExternalUserId;
|
||||
workflowModel.InstanceMode = "exist";
|
||||
|
||||
response = new WorkflowResponse<WorkflowModel>()
|
||||
{
|
||||
@@ -437,6 +441,7 @@ namespace Caspian.WorkflowFramework.Services
|
||||
var model = dict.ConvertToWorkflowModel();
|
||||
model.InstanceId = instance.Id;
|
||||
model.UserId = instance.ExternalUserId;
|
||||
model.InstanceMode = "exist";
|
||||
|
||||
result.Add(model);
|
||||
}
|
||||
@@ -561,6 +566,7 @@ namespace Caspian.WorkflowFramework.Services
|
||||
var model = dict.ConvertToWorkflowModel();
|
||||
model.InstanceId = latest.Id;
|
||||
model.UserId = latest.ExternalUserId;
|
||||
model.InstanceMode = "exist";
|
||||
|
||||
var response = new WorkflowResponse<WorkflowModel>
|
||||
{
|
||||
@@ -718,4 +724,3 @@ namespace Caspian.WorkflowFramework.Services
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,10 @@ namespace Caspian.WorkflowFramework.Utility
|
||||
? dictionary[nameof(workflowModel.InstanceId)]?.ToString()
|
||||
: null;
|
||||
|
||||
workflowModel.InstanceMode = dictionary.ContainsKey(nameof(workflowModel.InstanceMode))
|
||||
? dictionary[nameof(workflowModel.InstanceMode)]?.ToString()
|
||||
: null;
|
||||
|
||||
workflowModel.Name = dictionary.ContainsKey(nameof(workflowModel.Name))
|
||||
? dictionary[nameof(workflowModel.Name)]?.ToString()
|
||||
: null;
|
||||
@@ -101,6 +105,10 @@ namespace Caspian.WorkflowFramework.Utility
|
||||
? dictionary[nameof(workflowModel.NextPageUrl)]?.ToString()
|
||||
: 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))
|
||||
? dictionary[nameof(workflowModel.NextPageEventName)]?.ToString()
|
||||
: null;
|
||||
|
||||
Reference in New Issue
Block a user