CnbRate[] ParseYear(string response) { var strings = response.Split("\n"); var codesWithAmount = strings[0] .Split('|') .Skip(1) .Select(x => { var codeWithAmount = x.Split(' '); return(Amount: int.Parse(codeWithAmount[0]), Code: codeWithAmount[1]); }) .ToArray(); var result = new List <CnbRate>(); for (int i = 1; i < strings.Length; i++) { if (strings[i] != "") { var strData = strings[i].Split('|'); var date = DateTime.Parse(strData[0]); for (int j = 1; j < strData.Length; j++) { var rate = new CnbRate( value: decimal.Parse(strData[j], _numberFormatInfo), code: codesWithAmount[j - 1].Code, amount: codesWithAmount[j - 1].Amount, date: date); result.Add(rate); } } } return(result.ToArray()); }
CnbRate[] ParseDay(DateTime date, string response) { var strings = response.Split("\n").Skip(2); var result = new List <CnbRate>(); foreach (var str in strings) { if (str != "") { var strData = str.Split('|'); var rate = new CnbRate( date: date, value: decimal.Parse(strData[4], _numberFormatInfo), code: strData[3], amount: int.Parse(strData[2])); result.Add(rate); } } return(result.ToArray()); }