public bool InAlphaRange(CaseName lowerBound, CaseName upperBound, bool keepLastNameLenVsLowerBound = false, bool keepFirstNameLenVsLowerBound = false, bool keepLastNameLenVsUpperBound = false, bool keepFirstNameLenVsUpperBound = false) { if (this.CompareToRuleCaseName(lowerBound, keepLastNameLenVsLowerBound, keepFirstNameLenVsLowerBound) >= 0 && this.CompareToRuleCaseName(upperBound, keepLastNameLenVsUpperBound, keepFirstNameLenVsUpperBound) <= 0) { return(true); } return(false); }
private int CompareToRuleCaseName(CaseName ruleCaseName, bool keepLastNameLength = false, bool keepFirstNameLength = false) { int lastNameLength = this.LastName.Length < ruleCaseName.LastName.Length || keepLastNameLength ? this.LastName.Length : ruleCaseName.LastName.Length; int firstNameLength = this.FirstName.Length < ruleCaseName.FirstName.Length || keepFirstNameLength ? this.FirstName.Length : ruleCaseName.FirstName.Length; string formattedName = LastName.Substring(0, lastNameLength).ToLower() + " " + FirstName.Substring(0, firstNameLength).ToLower(); string comparedName = ruleCaseName.LastName.ToLower() + " " + ruleCaseName.FirstName.ToLower(); return(String.CompareOrdinal(formattedName, comparedName)); }
public static int AssignToTeam(CaseName caseName) { if (caseName.InAlphaRange(new CaseName("A", ""), new CaseName("EB", ""))) { return(1); } else if (caseName.InAlphaRange(new CaseName("EC", ""), new CaseName("Lopez", "JA"), false, false, true, false)) { return(2); } else if (caseName.InAlphaRange(new CaseName("Lopez", "JB"), new CaseName("Reyes", "F"), true, false, true, false)) { return(3); } else if (caseName.InAlphaRange(new CaseName("Reyes", "G"), new CaseName("Z", ""), true, false, false, false)) { return(4); } else { return(0); } }