78 lines
3.0 KiB
C#
78 lines
3.0 KiB
C#
using LCU.Library.Internal.DocumentIngestorModels.Enums;
|
|
using System.Collections.Generic;
|
|
|
|
namespace LCU.Library.Internal.DocumentIngestorModels.Models
|
|
{
|
|
public class ProcessResult
|
|
{
|
|
public ProcessResult()
|
|
{
|
|
Success = true;
|
|
MessageStack = new List<string>();
|
|
}
|
|
|
|
public ProcessResult(bool success, string message)
|
|
{
|
|
Success = success;
|
|
MessageStack = new List<string>() { message };
|
|
}
|
|
|
|
public bool Success { get; set; }
|
|
public bool AttemptToArchive { get; set; }
|
|
public List<string> MessageStack { get; set; }
|
|
public ProcessStatusTypes ProcessStatusType { get; set; }
|
|
public bool? EntityIsUnknown { get; set; }
|
|
|
|
public static ProcessResult ProcessCriticalFailure(ProcessResult processResult, string message)
|
|
{
|
|
return ProcessCriticalFailure(processResult, new List<string> { message });
|
|
}
|
|
|
|
public static ProcessResult ProcessCriticalFailure(ProcessResult processResult, List<string> messages)
|
|
{
|
|
processResult.ProcessStatusType = ProcessStatusTypes.CriticalFailure;
|
|
return ProcessFailure(processResult, messages, false);
|
|
}
|
|
|
|
public static ProcessResult ProcessDataMappingFailure(ProcessResult processResult, string message)
|
|
{
|
|
processResult.ProcessStatusType = ProcessStatusTypes.DataMappingFailure;
|
|
return ProcessFailure(processResult, message, null);
|
|
}
|
|
|
|
public static ProcessResult ProcessNotificationDataFailure(ProcessResult processResult, string message)
|
|
{
|
|
processResult.ProcessStatusType = ProcessStatusTypes.NotificationDataFailure;
|
|
return ProcessFailure(processResult, message, false);
|
|
}
|
|
|
|
public static ProcessResult ProcessCompleted(ProcessResult processResult, string message)
|
|
{
|
|
processResult.ProcessStatusType = ProcessStatusTypes.Completed;
|
|
return ProcessSuccess(processResult, new List<string> { message }, false);;
|
|
}
|
|
|
|
private static ProcessResult ProcessFailure(ProcessResult processResult, string message, bool? entityIsUnknown)
|
|
{
|
|
return ProcessFailure(processResult, new List<string> { message }, entityIsUnknown);
|
|
}
|
|
|
|
private static ProcessResult ProcessFailure(ProcessResult processResult, List<string> messages, bool? entityIsUnknown)
|
|
{
|
|
processResult.Success = false;
|
|
processResult.MessageStack.AddRange(messages);
|
|
processResult.EntityIsUnknown = entityIsUnknown;
|
|
return processResult;
|
|
}
|
|
|
|
private static ProcessResult ProcessSuccess(ProcessResult processResult, List<string> messages, bool? entityUnknown)
|
|
{
|
|
processResult.Success = true;
|
|
processResult.MessageStack.AddRange(messages);
|
|
processResult.EntityIsUnknown = entityUnknown;
|
|
return processResult;
|
|
}
|
|
}
|
|
|
|
|
|
} |