94 lines
4.9 KiB
C#
94 lines
4.9 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[(Int32)MeterAppState.MeterAppNotInstalled].State = MeterAppState.MeterAppNotInstalled;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppNotInstalled].Message = Resources.StrMeterAppNotInstalled;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppNotRequired].State = MeterAppState.MeterAppNotRequired;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppNotRequired].Message = Resources.StrMeterAppNotRequired;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppUpToDate].State = MeterAppState.MeterAppUpToDate;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppUpToDate].Message = Resources.StrMeterAppUpToDate;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppInstallationRequired].State = MeterAppState.MeterAppInstallationRequired;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppInstallationRequired].Message = Resources.StrMeterAppInstallationRequired;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppVersionOutdated].State = MeterAppState.MeterAppVersionOutdated;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppVersionOutdated].Message = Resources.StrMeterAppVersionOutdated;
|
|
|
|
_stateInfos[(Int32)MeterAppState.InvalidCrc].State = MeterAppState.InvalidCrc;
|
|
_stateInfos[(Int32)MeterAppState.InvalidCrc].Message = Resources.StrInvalidCrc;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppErasureRequired].State = MeterAppState.MeterAppErasureRequired;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppErasureRequired].Message = Resources.StrMeterAppErasureRequired;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppDownloadSucceeded].State = MeterAppState.MeterAppDownloadSucceeded;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppDownloadSucceeded].Message = Resources.StrMeterAppDownloadSucceeded;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppDownloadSuspicious].State = MeterAppState.MeterAppDownloadSuspicious;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppDownloadSuspicious].Message = Resources.StrMeterAppDownloadSuspicious;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppSuccessfulErased].State = MeterAppState.MeterAppSuccessfulErased;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppSuccessfulErased].Message = Resources.StrMeterAppSuccessfulErased;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppSuccessfulUpdated].State = MeterAppState.MeterAppSuccessfulUpdated;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppSuccessfulUpdated].Message = Resources.StrMeterAppSuccessfulUpdated;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppDownloadFailed].State = MeterAppState.MeterAppDownloadFailed;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppDownloadFailed].Message = Resources.StrMeterAppDownloadFailed;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppDownloadActive].State = MeterAppState.MeterAppDownloadActive;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppDownloadActive].Message = Resources.StrMeterAppDownloadActive;
|
|
|
|
_stateInfos[(Int32)MeterAppState.FileAppInvalid].State = MeterAppState.FileAppInvalid;
|
|
_stateInfos[(Int32)MeterAppState.FileAppInvalid].Message = Resources.StrFileAppInvalid;
|
|
|
|
_stateInfos[(Int32)MeterAppState.Unknown].State = MeterAppState.Unknown;
|
|
_stateInfos[(Int32)MeterAppState.Unknown].Message = Resources.StrMeterAppStateUnknown;
|
|
|
|
_stateInfos[(Int32)MeterAppState.MeterAppInstalledUnchecked].State = MeterAppState.MeterAppInstalledUnchecked;
|
|
_stateInfos[(Int32)MeterAppState.MeterAppInstalledUnchecked].Message = Resources.StrMeterAppDetected;
|
|
}
|
|
|
|
/// <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();
|
|
}
|
|
|
|
}
|
|
}
|