public DataSet GetCustomerAssociatedRel(int customerId)
        {
            CustomerAccountDao customerAccountsDao = new CustomerAccountDao();
            DataSet            dsCustomerAssociates;

            try
            {
                dsCustomerAssociates = customerAccountsDao.GetCustomerAssociatesRel(customerId);
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();

                FunctionInfo.Add("Method", "CustomerAccountBo.cs:GetCustomerAssociatesRel()");


                object[] objects = new object[1];
                objects[0] = customerId;


                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }

            return(dsCustomerAssociates);
        }
        public bool CreateGovtSavingsAccountAssociation(CustomerAccountAssociationVo customerAccountAssociationVo, int userId)
        {
            CustomerAccountDao customerAccountDao = new CustomerAccountDao();
            bool bResult = false;

            try
            {
                bResult = customerAccountDao.CreateGovtSavingsAccountAssociation(customerAccountAssociationVo, userId);
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();

                FunctionInfo.Add("Method", "CustomerAccountBo.cs:CreateGovtSavingsAccountAssociation()");


                object[] objects = new object[2];
                objects[0] = customerAccountAssociationVo;
                objects[1] = userId;

                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }

            return(bResult);
        }
        public CustomerAccountsVo GetCashAndSavingsAccount(int accountId)
        {
            CustomerAccountsVo customerAccountVo  = new CustomerAccountsVo();
            CustomerAccountDao customerAccountDao = new CustomerAccountDao();

            try
            {
                customerAccountVo = customerAccountDao.GetCashAndSavingsAccount(accountId);
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();

                FunctionInfo.Add("Method", "CustomerAccountBo.cs:GetCashAndSavingsAccount()");


                object[] objects = new object[1];
                objects[0] = accountId;


                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }

            return(customerAccountVo);
        }
        public DataSet GetCustomerEQAccounts(int portfolioId, string assetGroup)
        {
            CustomerAccountDao customerAccountDao = new CustomerAccountDao();
            DataSet            dsAssetAccounts;

            try
            {
                dsAssetAccounts = customerAccountDao.GetCustomerEQAccounts(portfolioId, assetGroup);
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();

                FunctionInfo.Add("Method", "CustomerAccountBo.cs:GetCustomerEQAccounts()");


                object[] objects = new object[3];
                objects[0] = portfolioId;
                objects[1] = assetGroup;



                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }

            return(dsAssetAccounts);
        }
        public List <CustomerAccountsVo> GetCustomerAccounts(int portfolioId)
        {
            CustomerAccountDao        customerAccountDao   = new CustomerAccountDao();
            List <CustomerAccountsVo> customerAccountsList = new List <CustomerAccountsVo>();

            try
            {
                customerAccountsList = customerAccountDao.GetCustomerAccounts(portfolioId);
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();

                FunctionInfo.Add("Method", "CustomerAccountBo.cs:GetCustomerAccounts()");


                object[] objects = new object[1];
                objects[0] = portfolioId;

                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }

            return(customerAccountsList);
        }
        public int CreateCustomerPropertyAccount(CustomerAccountsVo customerAccountVo, int userId)
        {
            CustomerAccountDao customerAccountDao = new CustomerAccountDao();
            int accountId;

            try
            {
                accountId = customerAccountDao.CreateCustomerPropertyAccount(customerAccountVo, userId);
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();

                FunctionInfo.Add("Method", "CustomerAccountBo.cs:CreateCustomerPropertyAccount()");


                object[] objects = new object[2];
                objects[0] = customerAccountVo;
                objects[1] = userId;

                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }

            return(accountId);
        }
        public List <CustomerAccountsVo> GetAdviserEquityAccountList(int adviserId, int CurrentPage, string sortOrder, out int count)
        {
            List <CustomerAccountsVo> customerAccountList = new List <CustomerAccountsVo>();
            CustomerAccountDao        customerAccountDao  = new CustomerAccountDao();

            try
            {
                customerAccountList = customerAccountDao.GetAdviserEquityAccountList(adviserId, CurrentPage, sortOrder, out count);
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();
                FunctionInfo.Add("Method", "CustomerAccountBo.cs:GetAdviserEquityAccountList()");
                object[] objects = new object[1];
                objects[0]   = adviserId;
                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }
            return(customerAccountList);
        }
        public bool CreateEQTradeDPAssociation(int tradeId, int dpId, int isDefault, int userId)
        {
            CustomerAccountDao customerAccountDao = new CustomerAccountDao();
            bool bResult = false;

            try
            {
                bResult = customerAccountDao.CreateEQTradeDPAssociation(tradeId, dpId, isDefault, userId);
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();

                FunctionInfo.Add("Method", "CustomerAccountBo.cs:CreateEQTradeDPAssociation()");


                object[] objects = new object[4];
                objects[0] = tradeId;
                objects[1] = dpId;
                objects[2] = isDefault;
                objects[3] = userId;

                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }

            return(bResult);
        }
        public static bool CheckTradeNoAvailability(string TradeAccNo, string BrokerCode, int PortfolioId)
        {
            CustomerAccountDao checkAccDao = new CustomerAccountDao();

            return(checkAccDao.CheckTradeNoAvailability(TradeAccNo, BrokerCode, PortfolioId));
        }
        public static bool CheckFolioDuplicate(int customerId, string folioNumber)
        {
            CustomerAccountDao checkAccDao = new CustomerAccountDao();

            return(checkAccDao.CheckFolioDuplicate(customerId, folioNumber));
        }
        public static bool CheckGenInsuranceNoAvailabilityOnAdd(string InsuranceNo, int AdviserId)
        {
            CustomerAccountDao checkAccDao = new CustomerAccountDao();

            return(checkAccDao.CheckGenInsuranceNoAvailabilityOnAdd(InsuranceNo, AdviserId));
        }
        public static bool CheckTransactionExistanceOnHoldingAdd(int CBBankAccountNum)
        {
            CustomerAccountDao checkAccDao = new CustomerAccountDao();

            return(checkAccDao.CheckTransactionExistanceOnHoldingAdd(CBBankAccountNum));
        }
        public static bool CheckAgentCodeAvailability(int adviserId, string agentCode)
        {
            CustomerAccountDao checkAccDao = new CustomerAccountDao();

            return(checkAccDao.CheckAgentCodeAvailability(adviserId, agentCode));
        }
        public static bool CheckPANNoAvailabilityForAssociates(string PanNumber, int adviserId)
        {
            CustomerAccountDao checkAccDao = new CustomerAccountDao();

            return(checkAccDao.CheckPANNoAvailability(PanNumber, adviserId));
        }
        public static bool CheckPANNoAvailability(string PanNumber, string BranchId, int adviserId)
        {
            CustomerAccountDao checkAccDao = new CustomerAccountDao();

            return(checkAccDao.CheckPANNoAvailability(PanNumber, BranchId, adviserId));
        }
        public DataTable GetTradeAccountNumbersByCustomer(int customerId)
        {
            CustomerAccountDao customerAccountDao = new CustomerAccountDao();

            return(customerAccountDao.GetTradeAccountNumbersByCustomer(customerId));
        }