common/Utils/ProcessExecShared/EventArguments/ProcessExecEventArgs.cs
2026-04-23 17:50:07 +02:00

50 lines
1.8 KiB
C#

using System;
namespace Xylem.Common.Utils.ProcessExec.EventArguments
{
/// <summary>
/// Event message needed to inform the caller about the ongoing process
/// </summary>
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>
/// Ctor
/// </summary>
/// <param name="overallProcessMessage"></param>
/// <param name="overallProcessPercent"></param>
/// <param name="actualProcessMessage"></param>
/// <param name="actualProcessPercent"></param>
public ProcessExecEventArgs(String overallProcessMessage,
Double? overallProcessPercent = null, String actualProcessMessage = null,
Double? actualProcessPercent = null)
{
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;
}
}
}