Add project files.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user