Files
laatzen/Common/Hardware/WaterMeter/Genesis/Applications/Const/MeterAppStateInfo.cs
T
2021-10-01 11:09:20 +02:00

87 lines
3.4 KiB
C#

using System;
using System.Linq;
using Xylem.Common.Hardware.WaterMeter.Genesis.Applications.Properties;
namespace Xylem.Common.Hardware.WaterMeter.Genesis.Applications.Const
{
/// <summary>
/// Concatenation of state and string
/// </summary>
public class MeterAppStateInfo
{
/// <summary>
/// Build state information
/// </summary>
private readonly MeterAppStateText[] _stateInfos;
/// <summary>
/// Ctor
/// </summary>
public MeterAppStateInfo()
{
_stateInfos = new MeterAppStateText[(Int32)MeterAppState.MeterAppStateListDelimiter];
_stateInfos[0].State = MeterAppState.MeterAppNotInstalled;
_stateInfos[0].Message = Resources.StrMeterAppNotInstalled;
_stateInfos[1].State = MeterAppState.MeterAppUpToDate;
_stateInfos[1].Message = Resources.StrMeterAppUpToDate;
_stateInfos[2].State = MeterAppState.MeterAppInstallationRequired;
_stateInfos[2].Message = Resources.StrMeterAppInstallationRequired;
_stateInfos[3].State = MeterAppState.MeterAppVersionOutdated;
_stateInfos[3].Message = Resources.StrMeterAppVersionOutdated;
_stateInfos[4].State = MeterAppState.InvalidCrc;
_stateInfos[4].Message = Resources.StrInvalidCrc;
_stateInfos[5].State = MeterAppState.MeterAppErasureRequired;
_stateInfos[5].Message = Resources.StrMeterAppErasureRequired;
_stateInfos[6].State = MeterAppState.MeterAppDownloadSucceeded;
_stateInfos[6].Message = Resources.StrMeterAppDownloadSucceeded;
_stateInfos[7].State = MeterAppState.MeterAppDownloadSuspicious;
_stateInfos[7].Message = Resources.StrMeterAppDownloadSuspicious;
_stateInfos[8].State = MeterAppState.MeterAppSuccessfulErased;
_stateInfos[8].Message = Resources.StrMeterAppSuccessfulErased;
_stateInfos[9].State = MeterAppState.MeterAppSuccessfulUpdated;
_stateInfos[9].Message = Resources.StrMeterAppSuccessfulUpdated;
_stateInfos[10].State = MeterAppState.MeterAppDownloadFailed;
_stateInfos[10].Message = Resources.StrMeterAppDownloadFailed;
_stateInfos[11].State = MeterAppState.MeterAppDownloadActive;
_stateInfos[11].Message = Resources.StrMeterAppDownloadActive;
_stateInfos[12].State = MeterAppState.FileAppInvalid;
_stateInfos[12].Message = Resources.StrFileAppInvalid;
_stateInfos[13].State = MeterAppState.Unknown;
_stateInfos[13].Message = "";
}
/// <summary>
/// Get the text of this state
/// </summary>
/// <param name="state">state to search for information text</param>
public String GetTextFromState(MeterAppState state)
{
return (from stateInfo in _stateInfos
where stateInfo.State == state select stateInfo.Message).Last();
}
/// <summary>
/// Get the state of the text
/// </summary>
/// <param name="text">information text to search if state is assigned</param>
public MeterAppState GetStateFromText(String text)
{
return (from stateInfo in _stateInfos
where stateInfo.Message == text select stateInfo.State).Last();
}
}
}