private bool UpdateSingleEntry(DateTime date, string mf, double nav, double origAmount, double netAmount, bool enforceOverride) { if (!Program.MfNavByDate.ContainsKey(date)) { Program.MfNavByDate.Add(date, new Dictionary <string, double>()); Program.MfOriginalAmountByDate.Add(date, new Dictionary <string, double>()); Program.MfNetAmountByDate.Add(date, new Dictionary <string, double>()); mfHistoricalData.Add(date, new Dictionary <string, MfData>()); } if (Program.MfNavByDate[date].ContainsKey(mf) && !enforceOverride) { return(false); } if (enforceOverride) { Program.MfNavByDate[date][mf] = nav; Program.MfOriginalAmountByDate[date][mf] = origAmount; Program.MfNetAmountByDate[date][mf] = netAmount; distinctMutualFunds.Add(mf); MfData mfData_temp = new MfData() { Nav = nav, NetAmount = netAmount, OriginalAmount = origAmount, }; mfHistoricalData[date][mf] = mfData_temp; return(true); } Program.MfNavByDate[date].Add(mf, nav); Program.MfOriginalAmountByDate[date].Add(mf, origAmount); Program.MfNetAmountByDate[date].Add(mf, netAmount); distinctMutualFunds.Add(mf); MfData mfData = new MfData() { Nav = nav, NetAmount = netAmount, OriginalAmount = origAmount, }; mfHistoricalData[date].Add(mf, mfData); return(true); }
private void ParseDayDataToDatedNav(Dictionary <string, Tuple <double, double, double> > input, DateTime date) { if (input.Keys.Count < 1) { return; } if (mfHistoricalData.ContainsKey(date)) { return; } if (date.Year <= 2015 && date.Month <= 10 && date.Day <= 10) { return; } mfHistoricalData.Add(date, new Dictionary <string, MfData>()); foreach (var mf in input.Keys) { MfData data = new MfData(); data.Nav = input[mf].Item1; data.NetAmount = input[mf].Item2; data.OriginalAmount = input[mf].Item3; mfHistoricalData[date].Add(mf, data); } }