public ActionResult AddExchange(string paramOne) { string[] parameters = paramOne.Split(new[] { "," }, StringSplitOptions.None); if (parameters.Length == 2 && !FinancialControls.CurrencyYearList.Any(x => x.Year.ToString() == parameters[0] && ExcoExRate.GetCurrency(parameters[1]) == x.CurrencyType)) { CurrencyYear newCY = new CurrencyYear(ExcoExRate.GetCurrency(parameters[1]), Convert.ToInt32(parameters[0])); // Instantiate 0 values for all 12 periods for (int i = 0; i < 12; i++) { newCY.ExchangeRates.Add(0); } FinancialControls.CurrencyYearList.Add(newCY); // Order by currency -> year FinancialControls.CurrencyYearList = FinancialControls.CurrencyYearList.OrderBy(x => x.CurrencyType) .ThenBy(y => y.Year).ToList(); ExcoExRate.SaveExchangeRates(FinancialControls.CurrencyYearList); } return(RedirectToAction("ExchangeRates")); }