public static Bank GetRandomBank(CityArea ca) { Bank bank = null; var banks = TreeData.CommercialBankData; if (ca?.AddressData != null) { var stateCode = ca.AddressData.StateAbbrv; var cityName = ca.AddressData.City; var banksByState = banks.Where(x => x.BusinessAddress?.Item2?.AddressData?.StateAbbrv == stateCode).ToArray(); var banksByCityState = banksByState.Where(x => x.BusinessAddress?.Item2?.AddressData?.City == cityName).ToArray(); if (banksByCityState.Any()) banks = banksByCityState; else if (banksByState.Any()) banks = banksByState; } if (banks.Any()) { var pickOne = Etx.IntNumber(0, banks.Length - 1); bank = banks[pickOne]; bank.LoadXrefXmlData(); if (bank.RoutingNumber == null) bank.RoutingNumber = RoutingTransitNumber.RandomRoutingNumber(); } return bank; }
public static AmericanHighSchool GetAmericanHighSchool(UsState homeState, CityArea hca) { //get all hs for the state var hshs = homeState.GetHighSchools() ?? Gov.UsState.GetStateByPostalCode(UsCityStateZip.DF_STATE_ABBREV).GetHighSchools(); //first try city, then state, last natl var hs = hshs.FirstOrDefault(x => x.PostalCode == hca?.AddressData?.PostalCode) ?? (hshs.Any() ? hshs[Etx.IntNumber(0, hshs.Length - 1)] : AmericanHighSchool.GetDefaultHs()); return hs; }