laatzen/Common/Utils/ProcessExec/EventArguments/ProcessExecEventArgs.cs

59 lines
2.1 KiB
C#

using System;
using Xylem.Common.CommonCore.Consts;
namespace Xylem.Common.Utils.ProcessExec.EventArguments
{
/// <summary>
/// Event message needed to inform the caller about the ongoing process
/// </summary>
[Serializable]
public class ProcessExecEventArgs : EventArgs
{
/// <summary>
/// Event message for overall process
/// </summary>
public String OverallProcessMessage { get; }
/// <summary>
/// Event message for single process
/// </summary>
public String ActualProcessMessage { get; }
/// <summary>
/// Overall process percentage 0..100
/// </summary>
public Double? OverallProcessPercent { get; }
/// <summary>
/// Single process percentage 0..100
/// </summary>
public Double? ActualProcessPercent { get; }
/// <summary>
/// Single process percentage 0..100
/// </summary>
public StatusReturn StatusReturn { get; }
/// <summary>
/// Ctor
/// </summary>
/// <param name="overallProcessMessage"></param>
/// <param name="overallProcessPercent"></param>
/// <param name="actualProcessMessage"></param>
/// <param name="actualProcessPercent"></param>
/// <param name="statusReturn"></param>
public ProcessExecEventArgs(String overallProcessMessage,
Double? overallProcessPercent = null, String actualProcessMessage = null,
Double? actualProcessPercent = null, StatusReturn statusReturn = StatusReturn.Unknown)
{
OverallProcessMessage = overallProcessMessage;
ActualProcessMessage = actualProcessMessage;
OverallProcessPercent = overallProcessPercent > 100.0 ? 100.0 : overallProcessPercent;
OverallProcessPercent = OverallProcessPercent < 0 ? 0 : OverallProcessPercent;
ActualProcessPercent = actualProcessPercent > 100.0 ? 100.0 : actualProcessPercent;
ActualProcessPercent = ActualProcessPercent < 0 ? 0 : ActualProcessPercent;
StatusReturn = statusReturn;
}
}
}