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);
     }
 }