/// <summary> /// This method returns all clients of broker with name and account number /// </summary> /// <param name="organizationID">organizationID</param> /// <param name="accountNumberPosition">accountNumberPosition</param> /// <returns></returns> public List <BrokerClients> GetAllClientsOfBroker(int organizationID, int accountNumberPosition) { try { using (var unitOfWork = new EFUnitOfWork()) { List <BrokerClients> lstAllClients = new List <BrokerClients>(); ClientBO clientBO = new ClientBO(); IntroducingBrokerBO introducingBrokerBO = new IntroducingBrokerBO(); var userRepo = new UserRepository(new EFRepository <User>(), unitOfWork); ObjectSet <User> userObjSet = ((CurrentDeskClientsEntities)userRepo.Repository.UnitOfWork.Context).Users; //Get all live and partner clients var allClients = userObjSet.Where(usr => usr.FK_OrganizationID == organizationID && (usr.FK_UserTypeID == Constants.K_BROKER_LIVE || usr.FK_UserTypeID == Constants.K_BROKER_PARTNER)).ToList(); //Get live and partner clients names with a/c numbers var liveClients = clientBO.GetClientNames(allClients, accountNumberPosition); var partnerClients = introducingBrokerBO.GetPartnerNames(allClients, accountNumberPosition); //Merger both and add to list lstAllClients.AddRange(liveClients); lstAllClients.AddRange(partnerClients); //Return list of clients return(lstAllClients); } } catch (Exception ex) { CommonErrorLogger.CommonErrorLog(ex, System.Reflection.MethodBase.GetCurrentMethod().Name); throw; } }