protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                SessionBo.CheckSession();
                customerVo    = (CustomerVo)Session["customerVo"];
                mfPortfolioVo = (MFPortfolioVo)Session["MFPortfolioVo"];
                mfPortfolioTransactionVoList = (List <MFPortfolioTransactionVo>)Session["MFPortfolioTransactionList"];


                if (!IsPostBack)
                {
                    portfolioId = int.Parse(Session[SessionContents.PortfolioId].ToString());
                    BindPortfolioDropDown();
                }

                LoadEquityPortfolioTransactions();
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();
                FunctionInfo.Add("Method", "ViewMutualFundPortfolioTransactions.cs:Page_Load()");
                object[] objects = new object[3];
                objects[0]   = mfPortfolioTransactionVoList;
                objects[1]   = mfPortfolioVo;
                objects[2]   = customerVo;
                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }
        }
        /// <summary>
        /// Get Unit Holding Data for Customer
        /// </summary>
        protected void BindUnitHolding()
        {
            DataTable dt = new DataTable();

            //hdnAccount.Value = accountId.ToString();
            OnlineMFHoldingList = customerPortfolioBo.GetOnlineUnitHolding(customerId, int.Parse(hdnAccount.Value), exchangeType == "Online" ? 1 : 0);
            if (OnlineMFHoldingList != null)
            {
                DataTable dtMFUnitHoplding = CreateUnitHoldingListTable();

                DataRow drMFUnitHoplding;
                for (int i = 0; i < OnlineMFHoldingList.Count; i++)
                {
                    drMFUnitHoplding = dtMFUnitHoplding.NewRow();
                    MFPortfolioNetPositionVo mfPortfolioVo;
                    mfPortfolioVo = OnlineMFHoldingList[i];
                    drMFUnitHoplding["MFNPId"]    = mfPortfolioVo.MFPortfolioId;
                    drMFUnitHoplding["AccountId"] = mfPortfolioVo.AccountId;
                    drMFUnitHoplding["Category"]  = mfPortfolioVo.AssetInstrumentCategoryName;
                    drMFUnitHoplding["Scheme"]    = mfPortfolioVo.SchemePlan;
                    drMFUnitHoplding["FolioNum"]  = mfPortfolioVo.FolioNumber;
                    if (mfPortfolioVo.ReturnsHoldPurchaseUnit != 0)
                    {
                        drMFUnitHoplding["PurchasedUnits"] = mfPortfolioVo.ReturnsHoldPurchaseUnit.ToString("n3", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["PurchasedUnits"] = "0.00";
                    }
                    if (mfPortfolioVo.ReturnsHoldDVRUnits != 0)
                    {
                        drMFUnitHoplding["DVRUnits"] = mfPortfolioVo.ReturnsHoldDVRUnits.ToString("n3", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["DVRUnits"] = "0.00";
                    }
                    if (mfPortfolioVo.NetHoldings != 0)
                    {
                        drMFUnitHoplding["OpenUnits"] = mfPortfolioVo.NetHoldings.ToString("n3", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["OpenUnits"] = "0.00";
                    }
                    if (mfPortfolioVo.ReturnsAllPrice != 0)
                    {
                        drMFUnitHoplding["Price"] = mfPortfolioVo.ReturnsAllPrice.ToString("n4", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["Price"] = "N/A";
                    }
                    if (mfPortfolioVo.InvestedCost != 0)
                    {
                        drMFUnitHoplding["InvestedCost"] = mfPortfolioVo.InvestedCost.ToString("n2", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["InvestedCost"] = "0.00";
                    }
                    if (mfPortfolioVo.MarketPrice != 0)
                    {
                        drMFUnitHoplding["NAV"] = mfPortfolioVo.MarketPrice.ToString("n4", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["NAV"] = "0.00";
                    }
                    if (mfPortfolioVo.CurrentValue != 0)
                    {
                        drMFUnitHoplding["CurrentValue"] = mfPortfolioVo.CurrentValue.ToString("n2", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["CurrentValue"] = "0.00";
                    }
                    if (mfPortfolioVo.SalesQuantity != 0)
                    {
                        drMFUnitHoplding["UnitsSold"] = mfPortfolioVo.SalesQuantity.ToString("n3", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["UnitsSold"] = "0.00";
                    }
                    if (mfPortfolioVo.RedeemedAmount != 0)
                    {
                        drMFUnitHoplding["Sold Value"] = mfPortfolioVo.RedeemedAmount.ToString("n3", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["Sold Value"] = "0.00";
                    }
                    if (mfPortfolioVo.ReturnsAllDVPAmt != 0)
                    {
                        drMFUnitHoplding["DVP"] = mfPortfolioVo.ReturnsAllDVPAmt.ToString("n0", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["DVP"] = "0.00";
                    }
                    if (mfPortfolioVo.ReturnsHoldTotalPL != 0)
                    {
                        drMFUnitHoplding["Unrealised Gain/Loss"] = mfPortfolioVo.ReturnsHoldTotalPL.ToString("n2", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["Unrealised Gain/Loss"] = "0.00";
                    }
                    if (mfPortfolioVo.ReturnsHoldAbsReturn != 0)
                    {
                        drMFUnitHoplding["AbsoluteReturn"] = mfPortfolioVo.ReturnsHoldAbsReturn.ToString("n2", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["AbsoluteReturn"] = "0.00";
                    }
                    if (mfPortfolioVo.ReturnsAllDVRAmt != 0)
                    {
                        drMFUnitHoplding["DVR"] = mfPortfolioVo.ReturnsAllDVRAmt.ToString("n0", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["DVR"] = "0";
                    }
                    if (mfPortfolioVo.ReturnsAllTotalXIRR != 0)
                    {
                        drMFUnitHoplding["XIRR"] = mfPortfolioVo.ReturnsAllTotalXIRR.ToString("n2", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["XIRR"] = "0.00";
                    }
                    if (mfPortfolioVo.ReturnsAllTotalDividends != 0)
                    {
                        drMFUnitHoplding["TotalDividends"] = mfPortfolioVo.ReturnsAllTotalDividends.ToString("n0", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["TotalDividends"] = "0.00";
                    }
                    drMFUnitHoplding["AMCCode"]         = mfPortfolioVo.AMCCode;
                    drMFUnitHoplding["AmcName"]         = mfPortfolioVo.AmcName;
                    drMFUnitHoplding["SchemeCode"]      = mfPortfolioVo.SchemePlanCode;
                    drMFUnitHoplding["SubCategoryName"] = mfPortfolioVo.AssetInstrumentSubCategoryName;
                    if (mfPortfolioVo.FolioStartDate == DateTime.MinValue)
                    {
                        drMFUnitHoplding["FolioStartDate"] = "N/A";
                    }
                    else
                    {
                        drMFUnitHoplding["FolioStartDate"] = mfPortfolioVo.FolioStartDate.ToShortDateString();
                    }
                    if (mfPortfolioVo.InvestmentStartDate == DateTime.MinValue)
                    {
                        drMFUnitHoplding["InvestmentStartDate"] = "N/A";
                    }
                    else
                    {
                        drMFUnitHoplding["InvestmentStartDate"] = mfPortfolioVo.InvestmentStartDate.ToShortDateString();
                    }
                    if (mfPortfolioVo.NavDate == DateTime.MinValue)
                    {
                        drMFUnitHoplding["CMFNP_NAVDate"] = "N/A";
                    }
                    else
                    {
                        drMFUnitHoplding["CMFNP_NAVDate"] = mfPortfolioVo.NavDate.ToShortDateString();
                    }
                    drMFUnitHoplding["CMFNP_ValuationDate"] = mfPortfolioVo.ValuationDate.ToShortDateString();
                    if (mfPortfolioVo.ReturnsRealizedTotalPL != 0)
                    {
                        drMFUnitHoplding["Realised Gain/Loss"] = mfPortfolioVo.ReturnsRealizedTotalPL.ToString("n2", CultureInfo.CreateSpecificCulture("hi-IN"));
                    }
                    else
                    {
                        drMFUnitHoplding["Realised Gain/Loss"] = "0.00";
                    }

                    drMFUnitHoplding["IsSchemeSIPType"]  = mfPortfolioVo.IsSchemeSIPType;
                    drMFUnitHoplding["IsSchemePurchege"] = mfPortfolioVo.IsSchemePurchege;
                    drMFUnitHoplding["IsSchemeRedeem"]   = mfPortfolioVo.IsSchemeRedeem;

                    drMFUnitHoplding["SchemeRating3Year"]  = mfPortfolioVo.SchemeRating3Year;
                    drMFUnitHoplding["SchemeRating5Year"]  = mfPortfolioVo.SchemeRating5Year;
                    drMFUnitHoplding["SchemeRating10Year"] = mfPortfolioVo.SchemeRating10Year;

                    drMFUnitHoplding["SchemeReturn3Year"]  = mfPortfolioVo.SchemeReturn3Year;
                    drMFUnitHoplding["SchemeReturn5Year"]  = mfPortfolioVo.SchemeReturn5Year;
                    drMFUnitHoplding["SchemeReturn10Year"] = mfPortfolioVo.SchemeReturn10Year;

                    drMFUnitHoplding["SchemeRisk3Year"]  = mfPortfolioVo.SchemeRisk3Year;
                    drMFUnitHoplding["SchemeRisk5Year"]  = mfPortfolioVo.SchemeRisk5Year;
                    drMFUnitHoplding["SchemeRisk10Year"] = mfPortfolioVo.SchemeRisk10Year;

                    drMFUnitHoplding["SchemeRatingOverall"] = mfPortfolioVo.SchemeRatingOverall;
                    drMFUnitHoplding["SchemeRatingSubscriptionExpiryDtae"] = mfPortfolioVo.SchemeRatingSubscriptionExpiryDtae;
                    if (DateTime.Parse(mfPortfolioVo.SchemeRatingDate.ToString()) != DateTime.Parse("01/01/1900 00:00:00"))
                    {
                        drMFUnitHoplding["SchemeRatingDate"] = DateTime.Parse(mfPortfolioVo.SchemeRatingDate.ToString()).ToString("dd/MM/yyyy");
                    }
                    drMFUnitHoplding["Status"] = mfPortfolioVo.status;
                    dtMFUnitHoplding.Rows.Add(drMFUnitHoplding);
                }
                if (dtMFUnitHoplding.Rows.Count > 0)
                {
                    if (Cache["UnitHolding" + userVo.UserId] == null)
                    {
                        Cache.Insert("UnitHolding" + userVo.UserId, dtMFUnitHoplding);
                    }
                    else
                    {
                        Cache.Remove("UnitHolding" + userVo.UserId);
                        Cache.Insert("UnitHolding" + userVo.UserId, dtMFUnitHoplding);
                    }
                    var page = 0;
                    rgUnitHolding.CurrentPageIndex = page;
                    rgUnitHolding.DataSource       = dtMFUnitHoplding;
                    rgUnitHolding.DataBind();
                    rgUnitHolding.Visible = true;
                    Div1.Visible          = true;
                    btnExport.Visible     = true;
                    trNoRecords.Visible   = false;
                }
                else
                {
                    rgUnitHolding.DataSource = dtMFUnitHoplding;
                    rgUnitHolding.DataBind();
                    //rgUnitHolding.Visible = false;
                    Div1.Visible        = true;
                    btnExport.Visible   = false;
                    trNoRecords.Visible = false;
                }
            }
            else
            {
                DataTable dtUnitNoRecord = CreateUnitHoldingListTable();
                rgUnitHolding.DataSource = dtUnitNoRecord;
                rgUnitHolding.DataBind();
                //rgUnitHolding.Visible = false;
                Div1.Visible        = true;
                btnExport.Visible   = false;
                trNoRecords.Visible = false;
                //lblNoRecords.Text = "No Records Found";
            }
        }