public MortRiskPersonInitializer(string inputData, int dataLine) { // Parse input record into fields by looking for comma delimiter string[] myFields = Regex.Split(inputData, fieldDelimiter); initializeOK = true; // (1) Try to read in country (string - convertable to Person countrytype). if (!Person.countrytypelist.ContainsKey(((myFields[country_offset]).Trim()).ToUpper())) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} is not a valid country.", dataLine, country_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } country = (Person.countrytype) Person.countrytypelist[((myFields[country_offset]).Trim()).ToUpper()]; // (2) Try to read in ageStart (double). if (!Double.TryParse((myFields[startage_offset]), out this.startAge)) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} (age at start) is not a double.", dataLine, startage_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } // (3) Try to read in ageNow (double). if (!Double.TryParse((myFields[agenow_offset]), out this.ageNow)) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} (age now) is not a double.", dataLine, agenow_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } // (4) Try to read in gender (string - convertable to Person genderType). // Valid values are "male" or "female" - not case sensitive. if (!Person.genderTypeList.ContainsKey(((myFields[gender_offset]).Trim()).ToUpper())) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} is not a valid gender.", dataLine, gender_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } gender = (Person.GenderType) Person.genderTypeList[((myFields[gender_offset]).Trim()).ToUpper()]; }
public DiseasePrevPersonInitializer(int lineNum, string inputData, Person.diseaseType myDisease) { // Parse input record into fields by looking for comma delimiter string[] myFields = Regex.Split(inputData, fieldDelimiter); initializeOK = true; // (1) Read in country (string - convertable to Person countrytype). // Valid values are: "ETH, IND, GHA, BGD, NPL, NGA, UGA, [or] TZA." if (!Person.countrytypelist.ContainsKey(((myFields[country_offset]).Trim()).ToUpper())) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} is not a valid country.", lineNum, country_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } this.country = (Person.countrytype) Person.countrytypelist[((myFields[country_offset]).Trim()).ToUpper()]; // (2) Read in year (int) if (!int.TryParse((myFields[yearnow_offset]), out this.yearNow)) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} (yearnow) is not an integer.", lineNum, yearnow_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } // (3) Read in age (double). if (!Double.TryParse((myFields[agenow_offset]), out this.ageNow)) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} (agenow) is not a double.", lineNum, agenow_offset + 1); Console.WriteLine("Data: {0}", inputData); } // (4) Get disease type disease = myDisease; }
// Constructors public Policy(string inputData, int LineNum) { // Set InitializeOK flag to true; initializeOK = true; // Parse input record into fields by looking for comma delimiter string[] policyFields = Regex.Split(inputData, fieldDelimiter); // Return immediately if there are not enough fields to read in if (policyFields.Length < numPolicyFields) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Not able to find {1} data fields.", LineNum, numPolicyFields); Console.WriteLine("Data: {0}", inputData); Console.WriteLine(""); return; } // (1) Policy name... cannot be empty string if ((((policyFields[policyName_offset]).Trim()).Length) == 0) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Policy name, Field {1}, is blank.", LineNum, policyName_offset + 1); Console.WriteLine("Data: {0}", inputData); Console.WriteLine(""); return; } policyName = (policyFields[policyName_offset]).Trim(); // (2) Read in policy COUNTRY if (!Person.countrytypelist.ContainsKey(((policyFields[country_offset]).Trim()).ToUpper())) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} is not a valid country.", LineNum, country_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } country = (Person.countrytype) Person.countrytypelist[((policyFields[country_offset]).Trim()).ToUpper()]; // (3) Read in RRMortality if (!Double.TryParse((policyFields[RRmortality_offset]), out this.RR_mortality)) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} (RR_diarrhea) is not a double.", LineNum, RRmortality_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } // (4) Read in RRdiarrhea if (!Double.TryParse((policyFields[RRdiarrhea_offset]), out this.RR_diarrhea)) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} (RR_diarrhea) is not a double.", LineNum, RRdiarrhea_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } // (5) Read in RRstunting if (!Double.TryParse((policyFields[RRstunting_offset]), out this.RR_stunting)) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} (RR_stunting) is not a double.", LineNum, RRstunting_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } // (6) Read in RRanemia if (!Double.TryParse((policyFields[RRanemia_offset]), out this.RR_anemia)) { initializeOK = false; Console.WriteLine("Error - Data line: {0} - Field {1} (RR_anemia) is not a double.", LineNum, RRanemia_offset + 1); Console.WriteLine("Data: {0}", inputData); return; } }