HardCode.cs 12.2 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using CWA.CpoOnline.Models;

namespace CWA.CpoOnline.Helpers
{
	/// <summary>
	/// TODO: As the name implies, these are hard coded values. This is intended to be temporary. We should add some type of repository  later.
	/// </summary>
	public class HardCode
	{
		public static List<SectorViewModel> AllSectors
		{
			get
			{
				var sectors = new List<SectorViewModel>();

                void AddSymbol(SectorViewModel sector, string Symbol, string Name)
                {
                    sector.Symbols.Add(new SymbolViewModel { Symbol = Symbol, Name = Name, Sector = sector });
                }

				//var allsectors = new SectorViewModel { Id="0", Name = "All" };
				var ETF = new SectorViewModel { Id="0", Name = "Exchange-Traded Fund" };
                //var energies = new SectorViewModel { Id = "1", Name = "Energies" };
                //var metals = new SectorViewModel { Id = "2", Name = "Metals" };
                //var currencies = new SectorViewModel { Id = "3", Name = "Currencies" };
                //var interestrates = new SectorViewModel { Id = "4", Name = "Interest Rates" };
                //var indexes = new SectorViewModel { Id = "5", Name = "Indexes" };
                //var grain = new SectorViewModel { Id = "6", Name = "Grain" };
                //var livestock = new SectorViewModel { Id = "7", Name = "Livestock" };
                //var foods = new SectorViewModel { Id = "8", Name = "Foods" };

                //sectors.Add(energies);
                //sectors.Add(metals);
                //sectors.Add(currencies);
                //sectors.Add(interestrates);
                //sectors.Add(indexes);
                //sectors.Add(grain);
                //sectors.Add(livestock);
                //sectors.Add(foods);
                sectors.Add(ETF);
                AddSymbol(ETF, "spy", "spy");
                AddSymbol(ETF, "qqq", "qqq");
                AddSymbol(ETF, "xlf", "Fin Select");
                AddSymbol(ETF, "gld", "SPDR Gold");
                AddSymbol(ETF, "slv", "iShares Silver Trust");
                AddSymbol(ETF, "xle", "Energy Select");
                AddSymbol(ETF, "vwo", "FTSE Emerging Market");
                AddSymbol(ETF, "uso", "US Oil Fund");
                AddSymbol(ETF, "tlt", "iShares 20 YR T ");
                AddSymbol(ETF, "xli", "Industrial Select");
                AddSymbol(ETF, "xlb", "Materials Select");
                AddSymbol(ETF, "oih", "VanEck Oil Srvcs");
                AddSymbol(ETF, "ung", "US Nat Gas Fund");
                AddSymbol(ETF, "efa", "iShares MSCI EAFE");
                AddSymbol(ETF, "dia", "SPDR DJIA");
                AddSymbol(ETF, "xrt", "SPDR S&P Retail");
                AddSymbol(ETF, "smh", "VanEchSemi");
                AddSymbol(ETF, "ewj", "iShares MSDCI Japan");
                AddSymbol(ETF, "mdy", "SPDR MidCap 400");
                AddSymbol(ETF, "ewc", "iShares MSCI Canada");
                AddSymbol(ETF, "iwn", "iShares Russell 2000 Value");
                AddSymbol(ETF, "iwd", "iShares Russell 1000");
                AddSymbol(ETF, "xme", "SPDR SP Metals/Mining");
                AddSymbol(ETF, "xop", "SPDR SP Oil Gas Explore and Product");
                AddSymbol(ETF, "rsx", "VanEck Russia");
                AddSymbol(ETF, "dba", "Power Agriculture");
                AddSymbol(ETF, "xlk", "Techn Select");
                AddSymbol(ETF, "ewt", "iShares MSCI Taiwan");
                AddSymbol(ETF, "ewy", "iShares MSCI South Korea");
                AddSymbol(ETF, "xly", "Consumer Discretionary Select");
                AddSymbol(ETF, "dbc", "PowerShares Commod Index ");
                AddSymbol(ETF, "xlu", "Utility Select");
                AddSymbol(ETF, "kre", "SPDR Regional Banks");
                AddSymbol(ETF, "ilf", "iShares Latin America 40");
                AddSymbol(ETF, "xlp", "Consumers Staples Select");
                AddSymbol(ETF, "ewa", "iShares MSCI Australia");
                AddSymbol(ETF, "moo", "VanEck Agribusiness");
                AddSymbol(ETF, "vnq", "Vanguard REIT");
                AddSymbol(ETF, "vgk", "Vanguard FTSE Europe");
                AddSymbol(ETF, "xhb", "Homebuilders SPDR");
                AddSymbol(ETF, "xlv", "Health Care Select");
                AddSymbol(ETF, "jnk", "SPDR Hi Yield Bond ");
                AddSymbol(ETF, "ijh", "iShares Core SP Mid-Cap");
                AddSymbol(ETF, "ewg", "iShares MSCI Germany");
                AddSymbol(ETF, "ijr", "iShares Core SP Small Cap");
                AddSymbol(ETF, "ewm", "iShares MSCI Malaysia");
                AddSymbol(ETF, "epi", "Widsom India Earnings");
                AddSymbol(ETF, "tip", "iShares TIPS Bond");
                AddSymbol(ETF, "epp", "iShares MSCI Pacific ex Japan");
                AddSymbol(ETF, "iym", "iShares US Basic Materials");
                AddSymbol(ETF, "vig", "Vanguard Dividend Appreciation");
                AddSymbol(ETF, "iyt", "iShares Transportation");
                AddSymbol(ETF, "hyg", "iShares High Yield Corp Bond");
                AddSymbol(ETF, "lqd", "iShares Inv Grade Corp Bond");
                AddSymbol(ETF, "ive", "iShares SP500 Value");
                AddSymbol(ETF, "aaxj", "iShares MSCI Asia ex Japan");
                AddSymbol(ETF, "icf", "iShares Cohen Steers REIT");
                AddSymbol(ETF, "vtv", "Vanguard Value");
                AddSymbol(ETF, "ewu", "iShares MSCI UK");
                AddSymbol(ETF, "bnd", "Vanguard Total Bond");
                AddSymbol(ETF, "ige", "iShares NA Natural Resources");
                AddSymbol(ETF, "pbw", "PowerShares Clean Energy");
                AddSymbol(ETF, "uup", "PowerShares US Dollar Bull");
                AddSymbol(ETF, "vb", "Vanguard Small Cap");
                AddSymbol(ETF, "pph", "VanEck Pharma");
                AddSymbol(ETF, "ief", "iShares 7-10 Yr T Bond");
                AddSymbol(ETF, "iwv", "iShares Russell 3000");
                AddSymbol(ETF, "scz", "iShares MSCI EAFE Small Cap");
                AddSymbol(ETF, "bsv", "Vanguard ST Bond");
                AddSymbol(ETF, "iyz", "iShares Telecom");
                AddSymbol(ETF, "vo", "Vanguard Mid Cap");
                AddSymbol(ETF, "iyw", "iShares US Technology");
                AddSymbol(ETF, "gsg", "iShares SP Commodity-Indexed Trust");
                AddSymbol(ETF, "rwx", "SPDR International RE");
                AddSymbol(ETF, "vv", "Vanguard Large Cap");
                AddSymbol(ETF, "pho", "PowerShares Water Resources");
                AddSymbol(ETF, "dbb", "PowerShares DB Base Metals");
                AddSymbol(ETF, "kie", "SPDR SP Insurance");
                AddSymbol(ETF, "iwc", "iShares Micro Cap");
                AddSymbol(ETF, "pcy", "PowerShares Emerging Mkt Sover Debt");
                AddSymbol(ETF, "eza", "iShares MSCI South Africa");
                AddSymbol(ETF, "vnm", "VanEck Vietnam");
                AddSymbol(ETF, "vfh", "Vanguard Financials");
                AddSymbol(ETF, "emb", "iShares Emerg Mkt Bond");
                AddSymbol(ETF, "vgt", "Vanguard IT");
                AddSymbol(ETF, "dem", "Wisdom Emerging Mkt High Div ");
                AddSymbol(ETF, "biv", "Vanguard Intermediate Term Bond");
                AddSymbol(ETF, "mub", "iShares National Muni Bond");
                AddSymbol(ETF, "vis", "Vanguard Industrials");
                AddSymbol(ETF, "shm", "Nuveen Short Term Muni Bond");

                var cypto = new SectorViewModel { Id = "1", Name = "CryptoCurrencies" };

                sectors.Add(cypto);
                AddSymbol(cypto, "BTC", "Bitcoin");
                AddSymbol(cypto, "BCH", "Bitcoin-Cash");
                AddSymbol(cypto, "EOS", "EOS");
                AddSymbol(cypto, "NEO", "NEO");
                AddSymbol(cypto, "PAC", "PAC");
                AddSymbol(cypto, "ETH", "Ethereum");
                AddSymbol(cypto, "LTC", "Litecoin");
                AddSymbol(cypto, "DASH", "Dash");
                AddSymbol(cypto, "XRP", "Ripple");
                AddSymbol(cypto, "XMR", "Monero");


                //// Energies
                //energies.Symbols.Add(new SymbolViewModel { Symbol = "CL", Name = "Crude Oil" });
                //energies.Symbols.Add(new SymbolViewModel { Symbol = "HU", Name = "Unleaded Gas" });
                //energies.Symbols.Add(new SymbolViewModel { Symbol = "HO", Name = "Heating Oil" });
                //energies.Symbols.Add(new SymbolViewModel { Symbol = "NG", Name = "Natural Gas" });

                //// Metals
                //metals.Symbols.Add(new SymbolViewModel { Symbol = "HG", Name = "Copper" });
                //metals.Symbols.Add(new SymbolViewModel { Symbol = "GC", Name = "Gold" });
                //metals.Symbols.Add(new SymbolViewModel { Symbol = "PL", Name = "Platinum" });
                //metals.Symbols.Add(new SymbolViewModel { Symbol = "PA", Name = "Palladium" });
                //metals.Symbols.Add(new SymbolViewModel { Symbol = "SI", Name = "Silver/5000 OZ" });

                //// Currencies
                //currencies.Symbols.Add(new SymbolViewModel { Symbol = "DX", Name = "US Dollar Index" });
                //currencies.Symbols.Add(new SymbolViewModel { Symbol = "BP", Name = "British Pound" });
                //currencies.Symbols.Add(new SymbolViewModel { Symbol = "SF", Name = "Swiss Fanc" });
                //currencies.Symbols.Add(new SymbolViewModel { Symbol = "DM", Name = "Deutschemark" });
                //currencies.Symbols.Add(new SymbolViewModel { Symbol = "JY", Name = "Japanese Yen" });

                //// Interest Rates
                //interestrates.Symbols.Add(new SymbolViewModel { Symbol = "ED", Name = "Eurodollar" });
                //interestrates.Symbols.Add(new SymbolViewModel { Symbol = "TB", Name = "Treasury Bill" });
                //interestrates.Symbols.Add(new SymbolViewModel { Symbol = "US", Name = "Treasury Bonds" });
                //interestrates.Symbols.Add(new SymbolViewModel { Symbol = "FV", Name = "Five Year" });
                //interestrates.Symbols.Add(new SymbolViewModel { Symbol = "TU", Name = "Two Year" });

                //// Indexes
                //indexes.Symbols.Add(new SymbolViewModel { Symbol = "YX", Name = "NYSE Composite" });
                //indexes.Symbols.Add(new SymbolViewModel { Symbol = "SP", Name = "S&P 500" });
                //indexes.Symbols.Add(new SymbolViewModel { Symbol = "MD", Name = "Mid Cap" });
                //indexes.Symbols.Add(new SymbolViewModel { Symbol = "NQ", Name = "Nasdaq 100" });
                //indexes.Symbols.Add(new SymbolViewModel { Symbol = "DJ", Name = "Dow Jones" });

                //// Grain
                //grain.Symbols.Add(new SymbolViewModel { Symbol = "C", Name = "Corn" });
                //grain.Symbols.Add(new SymbolViewModel { Symbol = "O", Name = "Oats" });
                //grain.Symbols.Add(new SymbolViewModel { Symbol = "W", Name = "Wheat" });
                //grain.Symbols.Add(new SymbolViewModel { Symbol = "S", Name = "Soybeans" });

                //// Livestock
                //livestock.Symbols.Add(new SymbolViewModel { Symbol = "FC", Name = "Feeder Cattle" });
                //livestock.Symbols.Add(new SymbolViewModel { Symbol = "LC", Name = "Live Cattle" });
                //livestock.Symbols.Add(new SymbolViewModel { Symbol = "BB", Name = "Boneless Beef" });
                //livestock.Symbols.Add(new SymbolViewModel { Symbol = "PB", Name = "Pork Bellies" });

                //// Foods
                //foods.Symbols.Add(new SymbolViewModel { Symbol = "CO", Name = "Cocoa" });
                //foods.Symbols.Add(new SymbolViewModel { Symbol = "KC", Name = "Coffee" });
                //foods.Symbols.Add(new SymbolViewModel { Symbol = "CT", Name = "Cotton" });
                //foods.Symbols.Add(new SymbolViewModel { Symbol = "OJ", Name = "Orange Juice" });
                //foods.Symbols.Add(new SymbolViewModel { Symbol = "SB", Name = "Sugar" });
                //foods.Symbols.Add(new SymbolViewModel { Symbol = "DA", Name = "Fluid Milk" });

                // Set Ids
                int symbolId = 1;
				foreach (var sector in sectors)
				{
					foreach (var symbol in sector.Symbols)
					{
						symbol.Id = $"{symbolId++}";
					}
				}

				return sectors;
			}
		}

		

	}
}