//строка с данными одной страны static private string GetStringForDatabase(CountryData data) { //строка данных об одной стране string dataStr = data.Name + ","; //патенты dataStr = dataStr + CheckValue(data.Total_Patent_Applications); //торговые марки dataStr = dataStr + CheckValue(data.Total_Trademark_Applications); //экспорт высоких технологий dataStr = dataStr + CheckValue(data.High_Tech_Exports); //экспорт высоких технологий (в долларах) dataStr = dataStr + CheckValue(data.High_Tech_Exports_USD); //затраты на R&D dataStr = dataStr + CheckValue(data.Res_And_Dev_Expenditure); //плата за интеллектуальную собственность dataStr = dataStr + CheckValue(data.IntelPropertyPayment); return(dataStr); }
//получить информацию о странах из database.csv static private List <CountryData> GetCountryData(string databasePath) { List <CountryData> data = new List <CountryData>(); //прочитать всю информацию из файла данных try { using (StreamReader sr = new StreamReader(databasePath)) { string line; while ((line = sr.ReadLine()) != null) { string[] dataParts = line.Split(','); //не заголовок if (dataParts[0] != "country") { CountryData countryData = new CountryData(); countryData.Name = dataParts[0]; //проверка, были ли уже внесены данные //патенты if ((dataParts[1] != "NULL") && (dataParts[1] != "")) { countryData.Total_Patent_Applications = Convert.ToInt32(dataParts[1]); } else { countryData.Total_Patent_Applications = -1; } //торговые марки if ((dataParts[2] != "NULL") && (dataParts[2] != "")) { countryData.Total_Trademark_Applications = Convert.ToInt32(dataParts[2]); } else { countryData.Total_Trademark_Applications = -1; } //экспорт высоких технологий if ((dataParts[3] != "NULL") && (dataParts[3] != "")) { countryData.High_Tech_Exports = Convert.ToDouble(dataParts[3].Replace('.', ',')); } else { countryData.High_Tech_Exports = -1; } //экспорт высоких технологий (в долларах) if ((dataParts[4] != "NULL") && (dataParts[4] != "")) { countryData.High_Tech_Exports_USD = Convert.ToDouble(dataParts[4].Replace('.', ',')); } else { countryData.High_Tech_Exports_USD = -1; } //затраты на R&D if ((dataParts[5] != "NULL") && (dataParts[5] != "")) { countryData.Res_And_Dev_Expenditure = Convert.ToDouble(dataParts[5].Replace('.', ',')); } else { countryData.Res_And_Dev_Expenditure = -1; } //плата за интеллектуальную собственность if ((dataParts[6] != "NULL") && (dataParts[6] != "")) { countryData.IntelPropertyPayment = Convert.ToDouble(dataParts[6].Replace('.', ',')); } else { countryData.IntelPropertyPayment = -1; } //добавление страны с её данными в список data.Add(countryData); } } } } catch (Exception ex) { string exception = ex.ToString(); } return(data); }