internal static int GetRandomNumberAdults(ITashaHousehold household, Activity activity, int min, int max, Random random) { int distID = 0; switch (activity) { case Activity.JointOther: if (household.NumberOfChildren > 0) { if (household.NumberOfAdults == 2) { distID = 0; } else { if (household.NumberOfAdults >= 3) { distID = 1; } else { //error throw new XTMFRuntimeException("One adult, at least one child."); } } } else //no children { if (household.NumberOfAdults >= 3) { distID = 2; } else { //error throw new XTMFRuntimeException("error"); } } break; case Activity.JointMarket: if (household.NumberOfChildren > 0) { if (household.NumberOfAdults == 2) { distID = 3; } else { if (household.NumberOfAdults >= 3) { distID = 4; } else { //error throw new XTMFRuntimeException("error"); } } } else //no children { if (household.NumberOfAdults >= 3) { distID = 5; } else { //error throw new XTMFRuntimeException("error"); } } break; default: return(0); } return(Distribution.GetRandomAdultFrequency(distID, min, max, random)); }