comparison Stocks/Stocks.Common/ConfigurationService.cs @ 0:e5d46bb6cdb0

Initial commit
author adminSH stevenhollidge@hotmail.com
date Mon, 20 Feb 2012 13:52:35 +0700
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:e5d46bb6cdb0
1 using System;
2 using System.Collections.Generic;
3 using Stocks.Common;
4 using Stocks.Common.Core;
5 using Stocks.Common.Models;
6 using Newtonsoft.Json;
7
8 namespace Stocks.Common
9 {
10 public class ConfigurationService : IConfigurationService
11 {
12 private string jsonFilename;
13 private string serviceUrlPrefix = "http://finance.yahoo.com/d/quotes.csv?s=";
14 private string serviceUrlSuffix = "&f=snl1";
15
16 public ConfigurationService(string filename)
17 {
18 jsonFilename = filename;
19 }
20 public List<Company> GetCompanies()
21 {
22 return new FileSerializer().DeserializeJson<Company>(jsonFilename);
23 }
24
25 public string GetServiceUrl(string symbolCsv)
26 {
27 if (string.IsNullOrEmpty(symbolCsv))
28 throw new ArgumentException();
29
30 return string.Concat(serviceUrlPrefix, symbolCsv, serviceUrlSuffix);
31 }
32
33 public string GetServiceUrl(string[] symbols)
34 {
35 if (symbols == null || symbols.Length == 0)
36 throw new ArgumentException();
37
38 var symbolCsv = string.Join(",", symbols);
39 return GetServiceUrl(symbolCsv);
40 }
41 }
42 }