Add project files.

This commit is contained in:
Behzad Alizadeh
2025-07-02 16:25:46 +03:30
parent 7391bb6626
commit d58167d24a
137 changed files with 85333 additions and 0 deletions
@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Caspian.WorkflowFramework.Models;
namespace Caspian.WorkflowFramework.Utility
{
public static class ConversionExtensions
{
public static WorkflowModel ConvertToWorkflowModel(this Dictionary<string, object?> dictionary)
{
var workflowModel = new WorkflowModel();
if (dictionary == null || dictionary.Count == 0)
return workflowModel;
//Map dictionary values to WorkflowModel properties
workflowModel.InstanceId = dictionary.ContainsKey(nameof(workflowModel.InstanceId))
? dictionary[nameof(workflowModel.InstanceId)]?.ToString()
: null;
workflowModel.Name = dictionary.ContainsKey(nameof(workflowModel.Name))
? dictionary[nameof(workflowModel.Name)]?.ToString()
: null;
workflowModel.IsComplete = dictionary.ContainsKey(nameof(workflowModel.IsComplete))
? bool.TryParse(dictionary[nameof(workflowModel.IsComplete)]?.ToString(), out var isComplete) && isComplete
: false;
workflowModel.UserId = dictionary.ContainsKey(nameof(workflowModel.UserId))
? long.TryParse(dictionary[nameof(workflowModel.UserId)]?.ToString(), out var userId) ? userId : (long?)null
: null;
//workflowModel.CurrentPageData = dictionary.ContainsKey(nameof(workflowModel.CurrentPageData))
// ? (object?)dictionary[nameof(workflowModel.CurrentPageData)]
// : null;
workflowModel.CurrentPageData = dictionary.ContainsKey(nameof(workflowModel.CurrentPageData))
? dictionary[nameof(workflowModel.CurrentPageData)]?.ToString()
: null;
//workflowModel.NextPageData = dictionary.ContainsKey(nameof(workflowModel.NextPageData))
// ? (object?)dictionary[nameof(workflowModel.NextPageData)]
// : null;
workflowModel.NextPageData = dictionary.ContainsKey(nameof(workflowModel.NextPageData))
? dictionary[nameof(workflowModel.NextPageData)]?.ToString()
: null;
workflowModel.NextPageUrl = dictionary.ContainsKey(nameof(workflowModel.NextPageUrl))
? dictionary[nameof(workflowModel.NextPageUrl)]?.ToString()
: null;
workflowModel.NextPageEventName = dictionary.ContainsKey(nameof(workflowModel.NextPageEventName))
? dictionary[nameof(workflowModel.NextPageEventName)]?.ToString()
: null;
return workflowModel;
}
}
}