/// <summary>
        /// It will seperate Code from the Dictionary and send it to the Business object for Insertion
        /// </summary>
        /// <param name="DataCapture"></param>
        /// <param name="customerId"></param>
        /// <param name="createdById"></param>
        /// <param name="totalincome"></param>
        /// <param name="totalExpense"></param>
        /// <param name="totalLiabilities"></param>
        /// <param name="totalLoanOutstanding"></param>
        /// <param name="instrumentTotal"></param>
        /// <param name="subInstrumentTotal"></param>
        /// <returns></returns>
        public bool DataManipulationInput(Dictionary <string, object> DataCapture, int customerId, int createdById, out double totalincome, out double totalExpense, out double totalLiabilities, out double totalLoanOutstanding
                                          , out double instrumentTotal, out double subInstrumentTotal)
        {
            bool statusMessage = true;

            totalincome          = 0.0;
            totalExpense         = 0.0;
            totalLiabilities     = 0.0;
            totalLoanOutstanding = 0.0;
            instrumentTotal      = 0.0;
            subInstrumentTotal   = 0.0;
            CustomerProspectVo customerprospectVo = new CustomerProspectVo();

            try
            {
                List <CustomerProspectIncomeDetailsVo>      incomedetailsvolist      = new List <CustomerProspectIncomeDetailsVo>();
                List <CustomerProspectExpenseDetailsVo>     expensedetailsvolist     = new List <CustomerProspectExpenseDetailsVo>();
                List <CustomerProspectLiabilitiesDetailsVo> liabilitiesdetailsvolist = new List <CustomerProspectLiabilitiesDetailsVo>();
                List <CustomerProspectAssetDetailsVo>       assetdetailsvolist       = new List <CustomerProspectAssetDetailsVo>();
                List <CustomerProspectAssetSubDetailsVo>    assetsubdetailsvolist    = new List <CustomerProspectAssetSubDetailsVo>();
                CustomerProspectVo customerprospectvo = new CustomerProspectVo();
                incomedetailsvolist      = DataCapture["IncomeList"] as List <CustomerProspectIncomeDetailsVo>;
                expensedetailsvolist     = DataCapture["ExpenseList"] as List <CustomerProspectExpenseDetailsVo>;
                liabilitiesdetailsvolist = DataCapture["Liabilities"] as List <CustomerProspectLiabilitiesDetailsVo>;
                assetdetailsvolist       = DataCapture["AssetDetails"] as List <CustomerProspectAssetDetailsVo>;
                assetsubdetailsvolist    = DataCapture["AssetSubDetails"] as List <CustomerProspectAssetSubDetailsVo>;
                customerprospectvo       = DataCapture["TotalAssetDetails"] as CustomerProspectVo;
                //Deleting before insertion
                DeleteDetailsForCustomerProspect(customerId);
                //Inserting data
                bool incomestatusmessage      = AddCustomerFPIncomeDetails(customerId, createdById, incomedetailsvolist, out totalincome);
                bool expensestatusmessage     = AddCustomerFPExpenseDetails(customerId, createdById, expensedetailsvolist, out totalExpense);
                bool liabilitiesstatusmessage = AddLiabilitiesDetailsForCustomerProspect(customerId, createdById, liabilitiesdetailsvolist, out totalLiabilities, out totalLoanOutstanding);
                bool assetstatusmessage       = AddCustomerFPAssetInstrumentDetails(customerId, createdById, assetdetailsvolist, out instrumentTotal);
                bool assetsubstatusmeessage   = AddCustomerFPAssetSubInstrumentDetails(customerId, createdById, assetsubdetailsvolist, out subInstrumentTotal);


                bool detailsstatusmessage = AddDetailsForCustomerProspect(customerId, createdById, customerprospectvo);
                //bool incomestatusmessage = UpdateCustomerIncomeDetailsForCustomerProspect(customerId, createdById, incomedetailsvolist, out totalincome);
                //bool expensestatusmessage = UpdateCustomerExpenseDetailsForCustomerProspect(customerId, createdById, expensedetailsvolist, out totalExpense);
                //bool liabilitiesstatusmessage = UpdateCustomerLiabilitiesDetailsForCustomerProspect(customerId, createdById, liabilitiesdetailsvolist, out totalLiabilities, out totalLoanOutstanding);
                //bool assetstatusmessage = UpdateCustomerFPAssetInstrumentDetails(customerId, createdById, assetdetailsvolist, out instrumentTotal);
                //bool assetsubstatusmeessage = UpdateCustomerFPAssetSubInstrumentDetails(customerId, createdById, assetsubdetailsvolist, out subInstrumentTotal);
                if (incomestatusmessage == true && expensestatusmessage == true && liabilitiesstatusmessage == true && assetstatusmessage == true && assetsubstatusmeessage == true)
                {
                    statusMessage = true;
                }
                else
                {
                    statusMessage = false;
                }
            }
            catch (Exception ex)
            {
                statusMessage = false;
            }
            return(statusMessage);
        }
        public bool AddDetailsForCustomerProspect(int customerId, int userId, CustomerProspectVo customerprospectvo)
        {
            bool bTotalResult = true;

            try
            {
                CustomerProspectDao customerprospectdao = new CustomerProspectDao();

                customerprospectdao.AddDetailsForCustomerProspect(customerId, userId, customerprospectvo);
            }
            catch (Exception ex)
            {
                bTotalResult = false;
            }
            return(bTotalResult);
        }
        public bool AddDetailsForCustomerProspect(int customerId, int userId, CustomerProspectVo customerprospectvo)
        {
            Database  db;
            DbCommand cmdAddDetailsForCustomerProspect;
            bool      bTotalResult = false;

            try
            {
                db = DatabaseFactory.CreateDatabase("wealtherp");
                //Adding Data to the table
                cmdAddDetailsForCustomerProspect = db.GetStoredProcCommand("SP_AddDetailsForCustomerProspect");
                db.AddInParameter(cmdAddDetailsForCustomerProspect, "@C_CustomerId", DbType.Int32, customerId);
                db.AddInParameter(cmdAddDetailsForCustomerProspect, "@CFPS_Income", DbType.Decimal, customerprospectvo.TotalIncome);
                db.AddInParameter(cmdAddDetailsForCustomerProspect, "@CFPS_Expense", DbType.Decimal, customerprospectvo.TotalExpense);
                db.AddInParameter(cmdAddDetailsForCustomerProspect, "@CFPS_Liabilities", DbType.Decimal, customerprospectvo.TotalLiabilities);
                db.AddInParameter(cmdAddDetailsForCustomerProspect, "@CFPS_Assets", DbType.Decimal, customerprospectvo.TotalAssets);
                db.AddInParameter(cmdAddDetailsForCustomerProspect, "@CFPS_LifeInsurance", DbType.Decimal, customerprospectvo.TotalLifeInsurance);
                db.AddInParameter(cmdAddDetailsForCustomerProspect, "@CFPS_GeneralInsurance", DbType.Decimal, customerprospectvo.TotalGeneralInsurance);
                db.AddInParameter(cmdAddDetailsForCustomerProspect, "@U_UserId", DbType.Int32, userId);
                if (db.ExecuteNonQuery(cmdAddDetailsForCustomerProspect) != 0)
                {
                    bTotalResult = true;
                }
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();
                FunctionInfo.Add("Method", "CustomerProspectDao.cs:AddDetailsForCustomerProspect(int customerId, int userId, CustomerProspect customerprospect)");
                object[] objects = new object[2];
                objects[0]   = customerId;
                objects[1]   = userId;
                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }
            return(bTotalResult);
        }
        public CustomerProspectVo GetDetailsForCustomerProspect(int customerId)
        {
            DataSet             dsGetDetailsForCustomerProspect = null;
            CustomerProspectDao customerprospectdao             = new CustomerProspectDao();
            CustomerProspectVo  customerprospectvo = new CustomerProspectVo();

            try
            {
                dsGetDetailsForCustomerProspect          = customerprospectdao.GetDetailsForCustomerProspect(customerId);
                customerprospectvo.TotalIncome           = double.Parse(dsGetDetailsForCustomerProspect.Tables[0].Rows[0]["CFPS_Income"].ToString());
                customerprospectvo.TotalExpense          = double.Parse(dsGetDetailsForCustomerProspect.Tables[0].Rows[0]["CFPS_Expense"].ToString());
                customerprospectvo.TotalLiabilities      = double.Parse(dsGetDetailsForCustomerProspect.Tables[0].Rows[0]["CFPS_Liabilities"].ToString());
                customerprospectvo.TotalAssets           = double.Parse(dsGetDetailsForCustomerProspect.Tables[0].Rows[0]["CFPS_Asset"].ToString());
                customerprospectvo.TotalGeneralInsurance = double.Parse(dsGetDetailsForCustomerProspect.Tables[0].Rows[0]["CFPS_GeneralInsurance"].ToString());
                customerprospectvo.TotalLifeInsurance    = double.Parse(dsGetDetailsForCustomerProspect.Tables[0].Rows[0]["CFPS_LifeInsurance"].ToString());
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(customerprospectvo);
        }
        public CustomerProspectVo GetDetailsForCustomerProspect(DataTable dtGetDetailsForCustomerProspect)
        {
            CustomerProspectDao customerprospectdao = new CustomerProspectDao();
            CustomerProspectVo  customerprospectvo  = new CustomerProspectVo();

            try
            {
                if (dtGetDetailsForCustomerProspect != null && dtGetDetailsForCustomerProspect.Rows.Count > 0)
                {
                    customerprospectvo.TotalIncome           = double.Parse(dtGetDetailsForCustomerProspect.Rows[0]["CFPS_Income"].ToString());
                    customerprospectvo.TotalExpense          = double.Parse(dtGetDetailsForCustomerProspect.Rows[0]["CFPS_Expense"].ToString());
                    customerprospectvo.TotalLiabilities      = double.Parse(dtGetDetailsForCustomerProspect.Rows[0]["CFPS_Liabilities"].ToString());
                    customerprospectvo.TotalAssets           = double.Parse(dtGetDetailsForCustomerProspect.Rows[0]["CFPS_Asset"].ToString());
                    customerprospectvo.TotalGeneralInsurance = double.Parse(dtGetDetailsForCustomerProspect.Rows[0]["CFPS_GeneralInsurance"].ToString());
                    customerprospectvo.TotalLifeInsurance    = double.Parse(dtGetDetailsForCustomerProspect.Rows[0]["CFPS_LifeInsurance"].ToString());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(customerprospectvo);
        }