using System.Text;
namespace DTS.Common.ISO
{
public class IsoCodeStatics
{
public static string GetString(MMEPossibleChannels channel, MMETestObjects container, MMEPositions position, MMEFilterClasses fc)
{
var iso = new IsoCode("");
iso.Direction = channel.Direction;
iso.FilterClass = channel.Default_Filter_Class;
iso.FineLocation1 = channel.Fine_Loc_1;
iso.FineLocation2 = channel.Fine_Loc_2;
iso.FineLocation3 = channel.Fine_Loc_3;
iso.MainLocation = channel.Trans_Main_Loc;
iso.PhysicalDimension = channel.Physical_Dimension;
iso.Position = position?.Position ?? "?";
iso.TestObject = container?.Test_Object ?? "?";
iso.FilterClass = fc?.Filter_Class ?? "?";
return iso.StringRepresentation;
}
///
/// returns the isocode for a channel
/// considers whether it should mask the test time fields in the isocode
/// test time fields are test object, and filterclass
/// returns isocode
///
///
///
///
public static string GetString(MMEPossibleChannels channel, bool careAboutTestTimeFields)
{
var iso = new IsoCode("")
{
Direction = channel.Direction,
FineLocation1 = channel.Fine_Loc_1,
FineLocation2 = channel.Fine_Loc_2,
FineLocation3 = channel.Fine_Loc_3,
MainLocation = channel.Trans_Main_Loc,
PhysicalDimension = channel.Physical_Dimension,
Position = channel.Position,
TestObject = careAboutTestTimeFields ? channel.Test_Object : "??",
FilterClass = careAboutTestTimeFields ? channel.Default_Filter_Class : "?"
};
return iso.StringRepresentation;
}
public static string GetString(string testObject, string position, string main, string floc1, string floc2, string floc3, string physdim, string dir, string fc)
{
return $"{testObject}{position}{main}{floc1}{floc2}{floc3}{physdim}{dir}{fc}";
}
}
}