common/CordonelPreadjustmentUi/Parameters/FlushParams.cs
2026-04-23 17:50:07 +02:00

70 lines
2.2 KiB
C#

using System;
using Xylem.Common.Logic.ProductionOrderCore.OrderData;
namespace Xylem.Common.Ui.CordonelPreadjustmentUi.Parameters
{
public class FlushParams
{
public int DurationS { get; private set; }
public int FlowrateQmH { get; private set; }
public string Message { get; private set; }
public FlushParams(MeterSize meterSize)
{
switch (meterSize)
{
case MeterSize.DN50:
case MeterSize.DN40:
case MeterSize.US1_5:
case MeterSize.US2:
FlowrateQmH = 40;
DurationS = 120;
break;
case MeterSize.DN65:
FlowrateQmH = 80;
DurationS = 120;
break;
case MeterSize.DN80:
case MeterSize.US3:
FlowrateQmH = 100;
DurationS = 120;
break;
case MeterSize.DN100:
case MeterSize.DN125:
case MeterSize.US4:
FlowrateQmH = 140;
DurationS = 120;
break;
case MeterSize.US6:
FlowrateQmH = 400;
DurationS = 60;
break;
case MeterSize.DN150:
FlowrateQmH = 400;
DurationS = 60;
break;
case MeterSize.US8:
case MeterSize.DN200:
FlowrateQmH = 400;
DurationS = 60;
break;
default:
Message = $"Warning no parameter for meter size {meterSize.GetHashCode()} use default!{Environment.NewLine}";
FlowrateQmH = 40;
DurationS = 120;
break;
}
if (string.IsNullOrEmpty(Message))
{
Message = $"{Message} Flush for meter size {meterSize.GetHashCode()}: {Environment.NewLine} Flow {FlowrateQmH}m³/h for {DurationS}S";
}
}
}
}