Beispiel #1
0
        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());
        }
Beispiel #2
0
        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());
        }