Mercurial > silverbladetech
view Stocks/Stocks.Common/ConfigurationService.cs @ 4:57f20ba55884
Fix for webClientShim to use downloadString instead of downloadData
Refactoring and introduction of static TimedDelegates.Execute() helper method
author | stevenh7776 stevenhollidge@hotmail.com |
---|---|
date | Mon, 20 Feb 2012 23:04:58 +0700 |
parents | e5d46bb6cdb0 |
children |
line wrap: on
line source
using System; using System.Collections.Generic; using Stocks.Common; using Stocks.Common.Core; using Stocks.Common.Models; using Newtonsoft.Json; namespace Stocks.Common { public class ConfigurationService : IConfigurationService { private string jsonFilename; private string serviceUrlPrefix = "http://finance.yahoo.com/d/quotes.csv?s="; private string serviceUrlSuffix = "&f=snl1"; public ConfigurationService(string filename) { jsonFilename = filename; } public List<Company> GetCompanies() { return new FileSerializer().DeserializeJson<Company>(jsonFilename); } public string GetServiceUrl(string symbolCsv) { if (string.IsNullOrEmpty(symbolCsv)) throw new ArgumentException(); return string.Concat(serviceUrlPrefix, symbolCsv, serviceUrlSuffix); } public string GetServiceUrl(string[] symbols) { if (symbols == null || symbols.Length == 0) throw new ArgumentException(); var symbolCsv = string.Join(",", symbols); return GetServiceUrl(symbolCsv); } } }