Add economic indicatros
This commit is contained in:
71
MarketDataLib/MarketDataModel/EconomicIndicator.cs
Normal file
71
MarketDataLib/MarketDataModel/EconomicIndicator.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace MarketData.MarketDataModel
|
||||
{
|
||||
public class EconomicIndicators : List<EconomicIndicator>
|
||||
{
|
||||
public EconomicIndicators()
|
||||
{
|
||||
}
|
||||
|
||||
public EconomicIndicators(List<EconomicIndicator> economicIndicators)
|
||||
{
|
||||
foreach(EconomicIndicator economicIndicator in economicIndicators)
|
||||
{
|
||||
Add(economicIndicator);
|
||||
}
|
||||
}
|
||||
|
||||
public List<Int32> GetYears()
|
||||
{
|
||||
if(0==Count)return null;
|
||||
List<Int32> years = (from EconomicIndicator economicIndicator in this select economicIndicator.Year).Distinct().ToList();
|
||||
years.Sort();
|
||||
return years;
|
||||
}
|
||||
|
||||
public Dictionary<String,EconomicIndicators> GetDictionary()
|
||||
{
|
||||
Dictionary<String,EconomicIndicators> dictionary=new Dictionary<String,EconomicIndicators>();
|
||||
if(0==Count)return null;
|
||||
for (int index = 0; index < Count; index++)
|
||||
{
|
||||
EconomicIndicator economicIndicator=this[index];
|
||||
if(!dictionary.ContainsKey(economicIndicator.CountryCode))
|
||||
{
|
||||
List<EconomicIndicator> list=new List<EconomicIndicator>();
|
||||
dictionary.Add(economicIndicator.CountryCode,new EconomicIndicators());
|
||||
}
|
||||
EconomicIndicators economicIndicators=dictionary[economicIndicator.CountryCode];
|
||||
economicIndicators.Add(economicIndicator);
|
||||
}
|
||||
List<String> keys=new List<String>(dictionary.Keys);
|
||||
foreach(String key in keys)
|
||||
{
|
||||
dictionary[key].Sort(new EconomicIndicatorByYear());
|
||||
}
|
||||
return dictionary;
|
||||
}
|
||||
}
|
||||
|
||||
public class EconomicIndicatorByYear : IComparer<EconomicIndicator>
|
||||
{
|
||||
public int Compare(EconomicIndicator p1,EconomicIndicator p2)
|
||||
{
|
||||
return p1.Year.CompareTo(p2.Year);
|
||||
}
|
||||
}
|
||||
|
||||
public class EconomicIndicator
|
||||
{
|
||||
public String Source{get;set;}
|
||||
public String CountryName{get;set;}
|
||||
public String CountryCode{get;set;}
|
||||
public String IndicatorName{get;set;}
|
||||
public String IndicatorCode{get;set;}
|
||||
public double IndicatorValue{get;set;}
|
||||
public int Year{get;set;}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user