public bool UpdateContact(Contact contact)
        {
            int executeResult = _dbWrapper.Execute(cmd =>
            {
                cmd.CommandText = SqlConstants.UPDATE_CONTACT;
                DatabaseWrapperHelper.AddInLongParameter(cmd, "INVESTOR_ID", contact.InvestorId);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "FIRST_NAME", contact.FirstName);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "MID_INITIAL", contact.MiddleName);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "LAST_NAME", contact.LastName);
                //Home and Mail correspondence
                DatabaseWrapperHelper.AddInStringParameter(cmd, ":EMAIL_ADDR", contact.PersonalEmail);
                //Home and Mail Address
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_ADDR1", contact.AddressLine1);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_ADDR2", contact.AddressLine2);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_CITY", contact.City);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_STATE", contact.State);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_POSTAL_CODE", contact.Zip);
            }, _context.Identity.InstitutionId);


            if (executeResult > 0)
            {
                return(true);
            }
            return(false);
        }
 private void SetCommonParameters(IDbCommand cmd, SearchParameters searchParameters)
 {
     DatabaseWrapperHelper.AddInLongParameter(cmd, "A_NBROKER_ID", _context.Identity.BrokerId);
     DatabaseWrapperHelper.AddInIntParameter(cmd, "A_NSTARTROW", searchParameters.StartRow);
     DatabaseWrapperHelper.AddInIntParameter(cmd, "A_NCOUNT", searchParameters.Count.ToString());
     DatabaseWrapperHelper.AddInStringParameter(cmd, "A_NSORTBYCOL", "");
     DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VASC_YN", (searchParameters.IsSortAsc) ? "Y" : "N");
     DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VTOTCNTONLY_YN", "N");
     DatabaseWrapperHelper.AddInStringParameter(cmd, "A_SUPPACCT", "Y");
 }
        public List <Team> GetHouseHoldTeams(string householdId)
        {
            List <Team> teamList = new List <Team>();

            //get household teams only for backoffice institution
            if (IsBackOfficeInstitution())
            {
                IEnumerable <IDataRecord> records = _dbWrapper.QueryDataRecord(cmd =>
                {
                    cmd.CommandText = SqlConstants.GET_HOUSEHOLD_TEAMS;
                    DatabaseWrapperHelper.AddInLongParameter(cmd, "hierarchyType", "3");
                    DatabaseWrapperHelper.AddInLongParameter(cmd, "household_id", householdId);
                }, _context.Identity.InstitutionId);
                foreach (var row in records)
                {
                    Team team = new Team();
                    team.TeamId        = row["TEAM_ID"].ToString();
                    team.RepCode       = row["REP_CODE"].ToString();
                    team.Name          = row["NAME"].ToString();
                    team.Role          = (Team.TeamRole)(Convert.ToInt64(row["TEAM_ROLE_ID"]));
                    team.AssignType    = (Team.TeamAssignmentType)(Convert.ToInt64(row["TEAM_ASSIGN_TYPE_ID"]));
                    team.HierarchyType = (Team.TeamHierarchyType)(Convert.ToInt64(row["TEAM_HIERARCHY_TYPE_ID"]));
                    teamList.Add(team);
                }
            }
            if (teamList.Count == 0)
            {
                IEnumerable <IDataRecord> records = _dbWrapper.QueryDataRecord(cmd =>
                {
                    cmd.CommandText = SqlConstants.GET_DEFAULT_TEAMS;
                    DatabaseWrapperHelper.AddInLongParameter(cmd, "brokerId", _context.Identity.BrokerId);
                }, _context.Identity.InstitutionId);
                foreach (var row in records)
                {
                    Team team = new Team();
                    team.Broker_ID = row["BROKER_ID"].ToString();
                    team.TeamId    = row["TEAM_ID"].ToString();
                    team.RepCode   = row["REP_CODE"].ToString();
                    team.Name      = row["NAME"].ToString();
                    //team.City = row["CITY"].ToString();
                    //team.State = row["STATE"].ToString();
                    team.Role          = (Team.TeamRole)(Convert.ToInt64(row["TEAM_ROLE_ID"]));
                    team.AssignType    = Team.TeamAssignmentType.UserCreated;
                    team.HierarchyType = (Team.TeamHierarchyType)(Convert.ToInt64(row["TEAM_HIERARCHY_TYPE_ID"]));
                    teamList.Add(team);
                }
            }
            return(teamList);
        }
        private List <Team> CalculateListOfTeams(string householdId, List <Team> listOfTeams)
        {
            List <Team> lstExistingTeams = new List <Team>(), lstFinalTeams = new List <Team>();

            IEnumerable <IDataRecord> records = _dbWrapper.QueryDataRecord(cmd =>
            {
                cmd.CommandText = SqlConstants.GET_HOUSEHOLD_TeamEntitlement;
                DatabaseWrapperHelper.AddInLongParameter(cmd, "householdId", householdId);
            }, _context.Identity.InstitutionId);

            foreach (var row in records)
            {
                Team team = new Team();
                team.TeamId     = row["TEAM_ID"].ToString();
                team.Role       = (Team.TeamRole)(Convert.ToInt64(row["TEAM_ROLE_ID"]));
                team.AssignType = (Team.TeamAssignmentType)(Convert.ToInt64(row["TEAM_ASSIGN_TYPE_ID"]));
                lstExistingTeams.Add(team);
            }

            List <Team> tc = GetParentTeams(listOfTeams);

            if (tc != null)
            {
                foreach (Team t in tc)
                {
                    listOfTeams.Add(t);
                }
            }

            if (lstExistingTeams == null)
            {
                return(listOfTeams);
            }

            if (listOfTeams != null)
            {
                //need to take care of user created team removed from UI case.
                foreach (Team oldTeam in lstExistingTeams)
                {
                    bool isExist = false;
                    foreach (Team newTeam in listOfTeams)
                    {
                        if (newTeam.TeamId == oldTeam.TeamId)
                        {
                            isExist = true;
                            lstFinalTeams.Add(newTeam);
                            break;
                        }
                    }
                }
                foreach (Team newTm in listOfTeams)
                {
                    bool isExist = false;
                    foreach (Team oldTm in lstExistingTeams)
                    {
                        if (oldTm.TeamId == newTm.TeamId)
                        {
                            isExist = true;
                            break;
                        }
                    }
                    if (!isExist)
                    {
                        lstFinalTeams.Add(newTm);
                    }
                }
            }


            return(lstFinalTeams);
        }
        public bool CreateContact(Contact newCt, long householdId)
        {
            int investorId = Convert.ToInt32(_dbWrapper.ExecuteScalar(cmd =>
            {
                cmd.CommandText = SqlConstants.GET_NEXT_SEQUENCE_INVESTORID;
            }, _context.Identity.InstitutionId));

            var executeResult = _dbWrapper.Execute(cmd =>
            {
                cmd.CommandText = SqlConstants.CREATE_WEB_USER;
                DatabaseWrapperHelper.AddInLongParameter(cmd, "INVESTOR_ID", investorId.ToString());
                DatabaseWrapperHelper.AddInLongParameter(cmd, "INSTITUTION_ID", _context.Identity.InstitutionId);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "USERNAME", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "PASSWORD", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "PASSWORD_HINT", string.Empty);
                DatabaseWrapperHelper.AddInDateTimeParameter(cmd, "CREATE_DATE", DateTime.Now.Date);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "STATUS", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "USER_TYPE_ID", "2");
                DatabaseWrapperHelper.AddInStringParameter(cmd, "INSTITUTION_ID_LOGIN", string.Empty);
            }, _context.Identity.InstitutionId);

            executeResult = _dbWrapper.Execute(cmd =>
            {
                cmd.CommandText = SqlConstants.CREATE_WEB_INVESTOR;
                DatabaseWrapperHelper.AddInLongParameter(cmd, "INVESTOR_ID", investorId.ToString());
                DatabaseWrapperHelper.AddInStringParameter(cmd, "PREFIX", String.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "SUFFIX", String.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "FIRST_NAME", newCt.FirstName);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "MID_INITIAL", newCt.MiddleName);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "LAST_NAME", newCt.LastName);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "BIRTHDATE", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "SSN_TIN", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "MARK_DELETED_YN", "N");
                DatabaseWrapperHelper.AddInStringParameter(cmd, "GENDER", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "INVESTOR_NUM", investorId.ToString());
                DatabaseWrapperHelper.AddInDateTimeParameter(cmd, "CREATE_DATE", DateTime.Now.Date);
                DatabaseWrapperHelper.AddInDateTimeParameter(cmd, "LAST_ACCESS_DATE", DateTime.Now.Date);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "MARITAL_STATUS", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "SAME_AS_MAIL_YN", string.Empty);
                //Home and Mail correspondence
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_PHONE", newCt.HomePhone);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "FAX", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, ":EMAIL_ADDR", newCt.PersonalEmail);
                DatabaseWrapperHelper.AddInStringParameter(cmd, ":PHONE_MOBILE", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, ":RELATIONSHIP", string.Empty);
                //Home and Mail Address
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_ADDR1", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_ADDR2", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_CITY", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_STATE", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_POSTAL_CODE", string.Empty);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "HOME_COUNTRY", string.Empty);

                DatabaseWrapperHelper.AddInStringParameter(cmd, "MAIL_ADDR1", newCt.AddressLine1);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "MAIL_ADDR2", newCt.AddressLine2);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "MAIL_CITY", newCt.City);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "MAIL_STATE", newCt.State);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "MAIL_POSTAL_CODE", newCt.Zip);
                DatabaseWrapperHelper.AddInStringParameter(cmd, "MAIL_COUNTRY", newCt.Country);
            }, _context.Identity.InstitutionId);

            executeResult = _dbWrapper.Execute(cmd =>
            {
                cmd.CommandText = SqlConstants.CREATE_HOUSEHOLD_MEMBER;
                DatabaseWrapperHelper.AddInLongParameter(cmd, "HOUSEHOLD_ID", householdId.ToString());
                DatabaseWrapperHelper.AddInLongParameter(cmd, "INVESTOR_ID", investorId.ToString());
                DatabaseWrapperHelper.AddInIntParameter(cmd, "RELATIONSHIP_TYPE_ID", ((int)newCt.RelationShipType).ToString());
                DatabaseWrapperHelper.AddInStringParameter(cmd, "DEFAULT_ACCOUNT_ID", string.Empty);
            }, _context.Identity.InstitutionId);
            newCt.InvestorId = investorId.ToString();
            if (executeResult > 0)
            {
                return(true);
            }
            return(false);
        }
Exemple #6
0
        public List <ProposalsModel> SearchProposals(ProposalSearchParameters searchParameters)
        {
            List <ProfileModelInfo>   profileModelInfo;
            List <string>             planIdList   = new List <string>();
            List <ProposalsModel>     proposalList = new List <ProposalsModel>();
            IEnumerable <IDataRecord> records      = _dbWrapper.QueryDataRecord(cmd =>
            {
                cmd.CommandType = CommandType.StoredProcedure;
                if (searchParameters.Searchby == SearchBy.ACCOUNTNUMBER)
                {
                    cmd.CommandText = "PKG_PG.GETINVPROPOSAL_BY_ACCTNO";//: "PKG_PG.GETPROSPPROPOSAL_BY_ACCTNO";
                    DatabaseWrapperHelper.AddInLongParameter(cmd, "A_NBROKER_ID", _context.Identity.BrokerId);
                    DatabaseWrapperHelper.AddInIntParameter(cmd, "A_NSTARTROW", "1");
                    DatabaseWrapperHelper.AddInIntParameter(cmd, "A_NCOUNT", searchParameters.Count.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_NSORTBYCOL", "");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VASC_YN", "Y");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VTOTCNTONLY_YN", "N");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VPLANTYPELIST", "14,15,17");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VACCTNO", HandleSpecialCharacters(searchParameters.AccountNumber));
                    DatabaseWrapperHelper.AddOutCursorParameter(cmd, "A_RCPROPOSALLIST");
                    DatabaseWrapperHelper.AddOutIntParameter(cmd, "A_UTSTATUS");
                    DatabaseWrapperHelper.AddOutStringParameter(cmd, "A_UTSTATUSMSG", 2000);
                }
                else
                {
                    cmd.CommandText = "PKG_PG.GETINVPROPOSAL"; //"PKG_PG.GETPROSPPROPOSAL"
                    DatabaseWrapperHelper.AddInLongParameter(cmd, "A_NBROKER_ID", _context.Identity.BrokerId);
                    DatabaseWrapperHelper.AddInIntParameter(cmd, "A_NSTARTROW", "1");
                    DatabaseWrapperHelper.AddInIntParameter(cmd, "A_NCOUNT", searchParameters.Count.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_NSORTBYCOL", "");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VASC_YN", "Y");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VTOTCNTONLY_YN", "N");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VPLANTYPELIST", "14,15,17");

                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VLNAME", ConvertSpecialCharacters(searchParameters.LastName));
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VFNAME", ConvertSpecialCharacters(searchParameters.FirstName));
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VSSN_TIN", string.Empty);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VCITY", "");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VSTATE", "");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "A_VZIP", "");
                    DatabaseWrapperHelper.AddOutCursorParameter(cmd, "A_RCPROPOSALLIST");
                    DatabaseWrapperHelper.AddOutIntParameter(cmd, "A_UTSTATUS");
                    DatabaseWrapperHelper.AddOutStringParameter(cmd, "A_UTSTATUSMSG", 2000);
                }
            }, _context.Identity.InstitutionId);

            foreach (var row in records)
            {
                ProposalsModel proposal = new ProposalsModel();
                proposal.ProposalId             = row["PLAN_ID"].ToString();
                proposal.ProposalName           = (!string.IsNullOrEmpty(row["PLAN_NAME"].ToString())) ? row["PLAN_NAME"].ToString() : string.Empty;
                proposal.PartyID                = row["PARTY_ID"].ToString();
                proposal.PartyName              = row["PARTY_NAME"].ToString();
                proposal.PartyType              = row["PARTY_TYPE_NAME"].ToString();
                proposal.LastModifiedDate       = row["LAST_MODIFIED_DATE"].ToString();
                proposal.IsEntitle              = row["FULL_ENT"].ToString();
                proposal.RowNum                 = Int32.Parse(row["RN"].ToString());
                proposal.PlanTypeId             = row["PLAN_TYPE_ID"].ToString();
                proposal.ProgramName            = row["PROGRAM_NAME"].ToString();
                proposal.IsNoPartialEntitlement = row["NO_ENT"].ToString();
                proposal.ModelMinorVersion      = row["MODEL_MINOR_VERSION"].ToString();

                proposalList.Add(proposal);
            }

            foreach (ProposalsModel proposals in proposalList)
            {
                planIdList.Add(proposals.ProposalId);
            }

            profileModelInfo = GetProfileModelData(planIdList);

            foreach (ProfileModelInfo infoList in profileModelInfo)
            {
                int index = proposalList.FindIndex(0, proposalList.Count, proposal => proposal.ProposalId == infoList.PlanId);
                if (index != -1)
                {
                    proposalList[index].RiskFactor    = string.IsNullOrEmpty(infoList.ProfileName) ? "-" : infoList.ProfileName;
                    proposalList[index].ModelIncluded = string.IsNullOrEmpty(infoList.ModelName) ? "No Model" : infoList.ModelName;
                }
            }

            return(proposalList);
        }
Exemple #7
0
        public long CreateNewProposal(string houseHoldID, string proposalName)
        {
            long   planId      = -1;
            long   solutionID  = -1;
            string portfolioID = "-1";
            long   defaultPropAClassLevelId = -1;
            long   processID    = -1;
            long   processLogID = -1;
            long   investorID   = -1;

            defaultPropAClassLevelId = Convert.ToInt64(_dbWrapper.ExecuteScalar(cmd =>
            {
                cmd.CommandText = SqlConstants.GET_DEFAULT_ASSETCLASS_VIEW_ID;;
                DatabaseWrapperHelper.AddInLongParameter(cmd, ":GROUP_ID", _context.Identity.GroupId);
            }, _context.Identity.InstitutionId));

            solutionID = Convert.ToInt64(_dbWrapper.ExecuteScalar(cmd =>
            {
                cmd.CommandText = SqlConstants.GET_SEQUENCE_SOLUTION;
            }, _context.Identity.InstitutionId));


            //Create PlanID
            planId = Convert.ToInt64(_dbWrapper.ExecuteScalar(cmd =>
            {
                cmd.CommandText = SqlConstants.GET_SEQUENCE_INVESTMENT_PLAN;
            }, _context.Identity.InstitutionId));

            //Create PlanID
            processID = Convert.ToInt64(_dbWrapper.ExecuteScalar(cmd =>
            {
                cmd.CommandText = SqlConstants.GET_SEQUENCE_PROCESS;
            }, _context.Identity.InstitutionId));
            processLogID = Convert.ToInt64(_dbWrapper.ExecuteScalar(cmd =>
            {
                cmd.CommandText = SqlConstants.GET_SEQUENCE_PROCESS_LOG;
            }, _context.Identity.InstitutionId));

            portfolioID = GetSequencePattern("WEB_PORTFOLIO_PRODUCT", "");
            //Get the default profile and Model Ids
            SortedList <int, string> _list = GetDefaultProfileAndModelId();
            IEnumerator <KeyValuePair <int, string> > itVal = _list.GetEnumerator();
            int    profileid           = -1;
            string modelId             = string.Empty;
            string defaultProgramId    = string.Empty;;
            string defaultProposalPath = string.Empty;

            while (itVal.MoveNext())
            {
                profileid = Int32.Parse(itVal.Current.Key.ToString());
                modelId   = itVal.Current.Value.ToString();
            }
            //Need to revisit
            //ProposalPathCollection proposalPaths = new ProposalPathCollection();
            //proposalPaths = GetProposalList(context);
            //string defaultProposalPath = (from proposalPath in proposalPaths.List
            //                              where proposalPath.IsDefault == true
            //                              select proposalPath.ProposalPathId).FirstOrDefault();
            //while (itVal.MoveNext())
            //{
            //    profileid = Int32.Parse(itVal.Key.ToString());
            //    modelId = itVal.Value.ToString();
            //    if (!string.IsNullOrEmpty(modelId) && defaultProposalPath.ToUpper() != ProposalPathType.NO.ToString() && defaultProposalPath.ToUpper() != ProposalPathType.YES.ToString())
            //        defaultProgramId = GetPortfolioProgramId(modelId, context);
            //}
            List <Action <IDbCommand> > configureCommandList = new List <Action <IDbCommand> >();

            if (solutionID != -1)
            {
                configureCommandList.Add(new Action <IDbCommand>(cmd =>
                {
                    cmd.CommandText = SqlConstants.CREATE_SOLUTION;
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "SOLUTION_ID", solutionID.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "NAME", "");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "DESCR", "");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "CREATED_BY", _context.Identity.BrokerId);
                }));
                //Create WEB_SOLUTION_X_PARTY
                int.TryParse(houseHoldID, out int householdID);
                if (householdID > 0)
                {
                    //Get InvestorID
                    investorID = Convert.ToInt64(_dbWrapper.ExecuteScalar(cmd =>
                    {
                        cmd.CommandText = SqlConstants.GET_INVESTOR_ID;
                        DatabaseWrapperHelper.AddInIntParameter(cmd, ":HOUSEHOLD_ID", householdID.ToString());
                    }, _context.Identity.InstitutionId));

                    configureCommandList.Add(new Action <IDbCommand>(cmd =>
                    {
                        cmd.CommandText = SqlConstants.CREATE_SOLUTION_PARTY;
                        DatabaseWrapperHelper.AddInStringParameter(cmd, "SOLUTION_ID", solutionID.ToString());
                        DatabaseWrapperHelper.AddInStringParameter(cmd, "PARTY_ID", householdID.ToString());
                        DatabaseWrapperHelper.AddInStringParameter(cmd, "PARTY_TYPE_ID", "1");
                    }));

                    configureCommandList.Add(new Action <IDbCommand>(cmd =>
                    {
                        cmd.CommandText = SqlConstants.CREATE_SOLUTION_PARTY;
                        DatabaseWrapperHelper.AddInStringParameter(cmd, "SOLUTION_ID", solutionID.ToString());
                        DatabaseWrapperHelper.AddInStringParameter(cmd, "PARTY_ID", investorID.ToString());
                        DatabaseWrapperHelper.AddInStringParameter(cmd, "PARTY_TYPE_ID", "2");
                    }));
                }
            }
            if (planId != -1)
            {
                configureCommandList.Add(new Action <IDbCommand>(cmd =>
                {
                    cmd.CommandText = SqlConstants.CREATE_INVESTMENT_PORTFOLIO;
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PORTFOLIO_ID", portfolioID);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PORTFOLIO_TYPE_ID", "0");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "CREATE_BY_USER_ID", _context.Identity.BrokerId);
                }));

                configureCommandList.Add(new Action <IDbCommand>(cmd =>
                {
                    cmd.CommandText = SqlConstants.CREATE_HOLDING_PORTFOLIO;
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PORTFOLIO_ID", portfolioID);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PORTFOLIO_TYPE_ID", "0");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "EXTERNAL_ID", "");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "DATASOURCE_ID", "1");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "CREATE_BY_USER_ID", _context.Identity.BrokerId);
                }));

                configureCommandList.Add(new Action <IDbCommand>(cmd =>
                {
                    cmd.CommandText = SqlConstants.CREATE_WEB_PROCESS;
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PROCESS_ID", processID.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PROCESS_DEFINITION_ID", "1");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "BROKER_ID", _context.Identity.BrokerId);
                }));

                configureCommandList.Add(new Action <IDbCommand>(cmd =>
                {
                    cmd.CommandText = SqlConstants.CREATE_WEB_PROCESS_PARAM;
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PROCESS_ID", processID.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "SEQ_NUM", "1");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "ENTITY_TYPE_ID", Constants.PROPOPOSAL_PATH_ENTITY_TYPE_ID);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "ENTITY_ID", defaultProposalPath);
                }));
                //create web_process_activity
                configureCommandList.Add(new Action <IDbCommand>(cmd =>
                {
                    cmd.CommandText = SqlConstants.CREATE_WEB_PROCESS_ACTIVITY;
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PROCESS_ID", processID.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "BROKER_ID", _context.Identity.BrokerId);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "ACTIVITY_ID", "1");
                }));

                configureCommandList.Add(new Action <IDbCommand>(cmd =>
                {
                    cmd.CommandText = SqlConstants.CREATE_WEB_PROCESS_ACTIVITY_LOG;
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PROCESS_ID", processID.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "ACTIVITY_ID", "1");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "BROKER_ID", _context.Identity.BrokerId);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "ENTITY_TYPE_ID", "779");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "LOG_ENTRY_ID", processLogID.ToString());
                }));
                //Create web_investment_plan
                configureCommandList.Add(new Action <IDbCommand>(cmd =>
                {
                    cmd.CommandText = SqlConstants.CREATE_NEW_PROPOSAL;
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PLAN_ID", planId.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "SOLUTION_ID", solutionID.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "NAME", proposalName);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "DESCR", "");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PROFILE_ID", profileid.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "MODEL_ID", modelId);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PROGRAM_ID", defaultProgramId);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "HOLDING_PORTFOLIO_ID", portfolioID);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PLAN_PROCESS_ID", processID.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "CASH_AMOUNT", "0");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "MARK_DELETED_YN", "N");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "CREATED_BY", _context.Identity.BrokerId);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "AC_VIEW_ID", defaultPropAClassLevelId.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "MODELBASED_YN", !string.IsNullOrEmpty(modelId) ? "Y" : "N");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "HOLDINGLEVEL", "Account");
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PLAN_TYPE_ID", "17");
                }));
                //insert the data in the web_broker_recent_plan and delete the old ones if the count is more than 30
                configureCommandList.Add(new Action <IDbCommand>(cmd =>
                {
                    cmd.CommandText = SqlConstants.INSERT_RECENT_PROPOSAL;
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "BROKER_ID", _context.Identity.BrokerId);
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PLAN_ID", planId.ToString());
                    DatabaseWrapperHelper.AddInStringParameter(cmd, "PLAN_TYPE_ID", Convert.ToInt64(planTypeList.recentProposal).ToString());
                }));
            }
            bool result = _dbWrapper.ExecuteBatch(configureCommandList.ToArray(), _context.Identity.InstitutionId);

            return(planId);
        }