static public bool?HasHla(Hla hlaGoal, Dictionary <string, string> row, HlaResolution hlaResolution) { bool hasNull = false; for (int i = 1; i <= 2; ++i) { string column = hlaGoal.ToString().Substring(0, 1) + i.ToString(); HlaToLength hlaToLengthOrNull = HlaAssignmentParams.GetHlaToLengthValueOrNull(row, column, hlaResolution); if (hlaToLengthOrNull == null || hlaToLengthOrNull.HlaNumberToLength >= 9000) { hasNull = true; continue; } if (hlaGoal.ToString() == hlaToLengthOrNull.ToString()) { return(true); } } if (hasNull) { return(null); } else { return(false); } }
private static string SetSupertypeAny(Hla hla, SupertypeSpec hasBlanks) { switch (hasBlanks) { case SupertypeSpec.HasBlanksTrue: { HlaToLength hlaToLength = HlaToLength.GetInstanceABMixed(hla.Name); string supertypeAny = hlaToLength.ToZero6SupertypeBlanksString(); return(supertypeAny); } case SupertypeSpec.HasBlanksFalse: { HlaToLength hlaToLength = HlaToLength.GetInstanceABMixed(hla.Name); string supertypeAny = hlaToLength.ToZero6SupertypeNoBlanksString(); return(supertypeAny); } case SupertypeSpec.None: return("none"); //!!!const default: SpecialFunctions.CheckCondition(false, "unknown SupertypeSpec: " + hasBlanks.ToString()); return(null); } }
public static Hla GetHlaValue(Dictionary <string, string> row, string column, HlaResolution hlaResolution) { HlaToLength hlaToLength = GetHlaToLengthValueOrNull(row, column, hlaResolution); SpecialFunctions.CheckCondition(hlaToLength != null); return(HlaFactory.GetGroundInstance(hlaToLength.ToString())); }
private static Hla GetHlaFromRow(Dictionary <string, string> causeAssignmentRow, HlaResolution hlaResolution) { Qmrr.HlaFactory hlaFactory = Qmrr.HlaFactory.GetFactory("noConstraint"); string hla = causeAssignmentRow["HLA"]; if (hla.Length == 4 || hla.Length == 2) //!!!should this be moved to GetHlaLengthInstance so doesn't appear twice? { hla = hla.Substring(0, 1) + "0" + hla.Substring(1); } HlaToLength hlaToLength = hlaResolution.GetHlaLengthInstance(hla); SpecialFunctions.CheckCondition(hlaToLength != null); return(hlaFactory.GetGroundInstance(hlaToLength.ToString())); }
internal static HlaToLength GetHlaToLengthValueOrNull(Dictionary <string, string> row, string column, HlaResolution hlaResolution) { string hlaValue = row[column].ToString(); if (hlaValue.StartsWith("A") || hlaValue.StartsWith("B") || hlaValue.StartsWith("C")) { HlaToLength hlaToLength = hlaResolution.GetHlaLengthInstance(hlaValue); return(hlaToLength); } else { if (hlaValue.Length == 3 || hlaValue.Length == 1) { hlaValue = "0" + hlaValue; } string hla = (column[0].ToString() + hlaValue).ToUpper(); HlaToLength hlaToLength = hlaResolution.GetHlaLengthInstance(hla); return(hlaToLength); } }
static public IEnumerable <Hla> FindAllHla(List <Dictionary <string, string> > expandedTable, HlaResolution hlaResolution, string header) { Qmrr.HlaFactory hlaFactory = Qmrr.HlaFactory.GetFactory("noConstraint"); Dictionary <Hla, bool> seenIt = new Dictionary <Hla, bool>(); foreach (Dictionary <string, string> row in expandedTable) { foreach (string column in HlaAssignmentParams.CreateHlaColumns(header)) { HlaToLength hlaToLengthOrNull = HlaAssignmentParams.GetHlaToLengthValueOrNull(row, column, hlaResolution); if (hlaToLengthOrNull == null || hlaToLengthOrNull.HlaNumberToLength >= 9000) { continue; } Hla hla = hlaFactory.GetGroundInstance(hlaToLengthOrNull.ToString()); if (!seenIt.ContainsKey(hla)) { seenIt.Add(hla, true); yield return(hla); } } } }