static public HlaToLength GetInstanceABMixed(string hlaPattern) { HlaToLength aHlaToLength = new HlaToLength(); aHlaToLength.HlaResolution = HlaResolution.ABMixed; if (HlaResolution.TwoDigitHlaPatternIsOK(hlaPattern)) { aHlaToLength._hlaClass = hlaPattern.Substring(0, 1); aHlaToLength._hlaNumberToLength = int.Parse(hlaPattern.Substring(1)); SpecialFunctions.CheckCondition(aHlaToLength._hlaClass != "B" || aHlaToLength._hlaNumberToLength != 15); //!!!raise error SpecialFunctions.CheckCondition(aHlaToLength._hlaClass != "A" || aHlaToLength._hlaNumberToLength != 68); //!!!raise error } else { HlaToLength hlaToLengthFour = GetInstanceFour(hlaPattern); int twoDigits = hlaToLengthFour.TwoDigits(); if ((twoDigits == 15 && hlaToLengthFour.HlaClass == "B") || (twoDigits == 68 && hlaToLengthFour.HlaClass == "A")) { aHlaToLength._hlaClass = hlaToLengthFour.HlaClass; aHlaToLength._hlaNumberToLength = hlaToLengthFour._hlaNumberToLength; } else { aHlaToLength._hlaClass = hlaToLengthFour.HlaClass; aHlaToLength._hlaNumberToLength = twoDigits; } } return(aHlaToLength); }
static internal HlaToLength GetInstanceTwo(string hlaPattern) { HlaToLength aHlaToLength = new HlaToLength(); aHlaToLength.HlaResolution = HlaResolution.Two; if (HlaResolution.TwoDigitHlaPatternIsOK(hlaPattern)) { aHlaToLength._hlaClass = hlaPattern.Substring(0, 1); aHlaToLength._hlaNumberToLength = int.Parse(hlaPattern.Substring(1)); } else { HlaToLength hlaToLengthFour = GetInstanceFour(hlaPattern); aHlaToLength._hlaClass = hlaToLengthFour.HlaClass; aHlaToLength._hlaNumberToLength = hlaToLengthFour.TwoDigits(); } return(aHlaToLength); }