예제 #1
0
 public string EncodeText(string sText)
 {
     if (sText == string.Empty)
     {
         return(string.Empty);
     }
     return(Encrypter.Base64Encode(sText));
 }
예제 #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // 获取当前用户信息
        this.CurrentUser    = new LoginUser();
        this.iCurrentUserID = CurrentUser.iUserID;

        #region 页面重定向

        if (this.CurrentUser.sRoleName == "Executive" || this.CurrentUser.sRoleName == "Branch Manager")
        {
            try
            {
                this.Response.Redirect("DashBoardHome2.aspx");
            }
            catch
            {
            }
        }

        #endregion

        #region Get User Home Profile

        LPWeb.BLL.UserHomePref   UserHomePref1 = new LPWeb.BLL.UserHomePref();
        LPWeb.Model.UserHomePref UserHomePref2 = UserHomePref1.GetModel(this.iCurrentUserID);

        #endregion

        #region 角色权限-显示控制

        #region 设置是否显示Alert

        if (this.CurrentUser.userRole.OverdueTaskAlerts == true)
        {
            this.AlertWebPart1.Visible = true;
        }
        else
        {
            this.AlertWebPart1.Visible = false;
        }

        // User Home Profile
        if (UserHomePref2 != null)
        {
            if (UserHomePref2.OverDueTaskAlert == true)
            {
                this.AlertWebPart1.Visible = true;
            }
            else
            {
                this.AlertWebPart1.Visible = false;
            }
        }

        #endregion

        #region 设置是否显示Email Inbox

        if (this.CurrentUser.userRole.ExchangeInbox == true)
        {
            this.divEmailInbox.Visible = true;
        }
        else
        {
            this.divEmailInbox.Visible = false;
        }

        // User Home Profile
        if (UserHomePref2 != null)
        {
            if (UserHomePref2.ExchangeInbox == true)
            {
                this.divEmailInbox.Visible = true;
            }
            else
            {
                this.divEmailInbox.Visible = false;
            }
        }

        #endregion

        #region 设置是否显示Company Announcement

        //if (this.CurrentUser.userRole.Announcements == true)
        //{
        //    this.divCompanyAnn.Visible = true;
        //}
        //else
        //{
        //    this.divCompanyAnn.Visible = false;
        //}

        //// User Home Profile
        //if (UserHomePref2 != null)
        //{
        //    if (UserHomePref2.Announcements == true)
        //    {
        //        this.divCompanyAnn.Visible = true;
        //    }
        //    else
        //    {
        //        this.divCompanyAnn.Visible = false;
        //    }
        //}

        #endregion

        #region 设置是否显示Calendar

        if (this.CurrentUser.userRole.ExchangeCalendar == true)
        {
            this.divCalendar.Visible = true;
        }
        else
        {
            this.divCalendar.Visible = false;
        }

        // User Home Profile
        if (UserHomePref2 != null)
        {
            if (UserHomePref2.ExchangeCalendar == true)
            {
                this.divCalendar.Visible = true;
            }
            else
            {
                this.divCalendar.Visible = false;
            }
        }

        #endregion

        #region 设置是否显示User Goals

        if (this.CurrentUser.userRole.GoalsChart == true)
        {
            this.divUserGoals.Visible = true;
        }
        else
        {
            this.divUserGoals.Visible = false;
        }

        // User Home Profile
        if (UserHomePref2 != null)
        {
            if (UserHomePref2.GoalsChart == true)
            {
                this.divUserGoals.Visible = true;
            }
            else
            {
                this.divUserGoals.Visible = false;
            }
        }

        #endregion

        #region 设置是否显示Pipeline Summary

        if (this.CurrentUser.userRole.PipelineChart == true)
        {
            this.divPipelineAnalysis.Visible = true;
        }
        else
        {
            this.divPipelineAnalysis.Visible = false;
        }

        // User Home Profile
        if (UserHomePref2 != null)
        {
            if (UserHomePref2.PipelineChart == true)
            {
                this.divPipelineAnalysis.Visible = true;
            }
            else
            {
                this.divPipelineAnalysis.Visible = false;
            }
        }

        #endregion

        #region 设置是否显示filter

        if (this.divPipelineAnalysis.Visible == false &&
            this.divUserGoals.Visible == false)
        {
            this.divFilters.Visible = false;
        }

        #endregion

        #region UserHomePref.DashboardLastCompletedStages

        // StageFilter
        string sStageFilter = string.Empty;
        this.ddlStageFilter.Value = "CurrentStages";
        sStageFilter = "CurrentStages";

        if (UserHomePref2 != null && UserHomePref2.DashboardLastCompletedStages != null && UserHomePref2.DashboardLastCompletedStages == 1)
        {
            this.ddlStageFilter.Value = "LastCompletedStages";
            sStageFilter = "LastCompletedStages";
        }

        #endregion

        #region Quick Lead Form

        if (this.CurrentUser.QuickLeadForm == true)
        {
            this.divQuickLead.Visible = true;
        }
        else
        {
            this.divQuickLead.Visible = false;
        }

        #endregion

        #endregion

        string sErrorMsg = "Invalid query string, be ignored.";

        #region 获取页面参数

        int    iRegionID   = 0;
        int    iDivisionID = 0;
        string sRegionID   = string.Empty;
        string sDivisionID = string.Empty;

        string sBranchID = string.Empty;
        string sDateType = string.Empty;
        string sFromDate = string.Empty;
        string sToDate   = string.Empty;

        // Template_Stage.WorkflowType = Loan.Status
        string sWorkflowType = string.Empty;

        #region RegionID

        if (this.Request.QueryString["Region"] != null)
        {
            #region get region id

            string sRegionID_Encode = this.Request.QueryString["Region"].ToString();
            string sRegionID_Decode = Encrypter.Base64Decode(sRegionID_Encode);

            if (sRegionID_Decode == sRegionID_Encode)
            {
                PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href = window.location.pathname");
            }
            bool IsValid = Regex.IsMatch(sRegionID_Decode, @"^(-)?\d+$");
            if (IsValid == false)
            {
                PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href = window.location.pathname");
            }

            sRegionID = sRegionID_Decode;
            iRegionID = Convert.ToInt32(sRegionID_Decode);

            #endregion
        }

        #endregion

        #region DivisionID

        if (this.Request.QueryString["Division"] != null)
        {
            #region get division id

            string sDivisionID_Encode = this.Request.QueryString["Division"].ToString();
            string sDivisionID_Decode = Encrypter.Base64Decode(sDivisionID_Encode);

            if (sDivisionID_Decode == sDivisionID_Encode)
            {
                PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href = window.location.pathname");
            }
            bool IsValid = Regex.IsMatch(sDivisionID_Decode, @"^(-)?\d+$");
            if (IsValid == false)
            {
                PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href = window.location.pathname");
            }

            sDivisionID = sDivisionID_Decode;
            iDivisionID = Convert.ToInt32(sDivisionID_Decode);

            #endregion
        }

        #endregion

        #region BranchID

        if (this.Request.QueryString["Branch"] != null)
        {
            string sBranch_Encode = this.Request.QueryString["Branch"].ToString();
            sBranchID = Encrypter.Base64Decode(sBranch_Encode);
            if (sBranch_Encode == sBranchID)
            {
                PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href = window.location.pathname");
            }
            bool IsValid = Regex.IsMatch(sBranchID, @"^(-)?\d+$");
            if (IsValid == false)
            {
                PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href = window.location.pathname");
            }
        }

        #endregion

        #region Date Type

        if (this.Request.QueryString["DateType"] != null)
        {
            string sDateType_Encode = this.Request.QueryString["DateType"].ToString();
            sDateType = Encrypter.Base64Decode(sDateType_Encode);
            if (sDateType != "CloseDate" && sDateType != "OpenDate")
            {
                PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href = window.location.pathname");
            }
        }
        else
        {
            sDateType = "CloseDate";
        }

        #endregion

        #region FromDate

        if (this.Request.QueryString["FromDate"] != null)
        {
            string sFromDate_Encode = this.Request.QueryString["FromDate"].ToString();
            sFromDate = Encrypter.Base64Decode(sFromDate_Encode);
            if (sFromDate_Encode == sFromDate)
            {
                PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href = window.location.pathname");
            }
        }

        #endregion

        #region ToDate

        if (this.Request.QueryString["ToDate"] != null)
        {
            string sToDate_Encode = this.Request.QueryString["ToDate"].ToString();
            sToDate = Encrypter.Base64Decode(sToDate_Encode);
            if (sToDate_Encode == sToDate)
            {
                PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href = window.location.pathname");
            }
        }

        #endregion

        #region Workflow Type

        if (this.Request.QueryString["WorkflowType"] != null)
        {
            string sWorkflowType_Encode = this.Request.QueryString["WorkflowType"].ToString();
            sWorkflowType = Encrypter.Base64Decode(sWorkflowType_Encode);
            if (sWorkflowType != "Processing" && sWorkflowType != "Prospect" && sWorkflowType != "Archived")
            {
                PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href = window.location.pathname");
            }
        }
        else
        {
            sWorkflowType = "Processing";
        }

        #endregion

        #region StageFilter

        if (this.Request.QueryString["StageFilter"] != null)
        {
            sStageFilter = this.Request.QueryString["StageFilter"].ToString();

            if (sStageFilter != "CurrentStages")
            {
                sStageFilter = "LastCompletedStages";
            }
        }

        #endregion


        #endregion

        #region load filters

        DataSet OrganFilters = PageCommon.GetOrganFilter(iRegionID, iDivisionID);

        // region filter
        DataTable RegionListData = OrganFilters.Tables["Regions"];
        this.ddlRegions.DataSource = RegionListData;
        this.ddlRegions.DataBind();

        // division filter
        DataTable DivisionListData = OrganFilters.Tables["Divisions"];
        this.ddlDivisions.DataSource = DivisionListData;
        this.ddlDivisions.DataBind();

        // branch filter
        DataTable BranchListData = OrganFilters.Tables["Branches"];
        this.ddlBranches.DataSource = BranchListData;
        this.ddlBranches.DataBind();

        #endregion

        #region Build Search Conditions

        string sWhere = string.Empty;

        // Loans.Status
        if (sWorkflowType == "Archived")
        {
            sWhere += " and (b.Status!='Processing') and (b.Status!='Prospect')";
            //CR063 : Remove the “Suspended” status in the list of the “Archived Loans” status
            sWhere += " AND (b.Status != 'Suspended')";
        }
        else
        {
            sWhere += " and (b.Status='" + sWorkflowType + "')";
        }

        if (sWorkflowType == "Prospect")
        {
            sWhere += " and (b.ProspectLoanStatus='Active')";
        }

        if (sRegionID != string.Empty)
        {
            sWhere += " and (a.RegionID = " + sRegionID + ")";
        }

        if (sDivisionID != string.Empty)
        {
            sWhere += " and (a.DivisionID = " + sDivisionID + ")";
        }

        if (sBranchID != string.Empty)
        {
            sWhere += " and (a.BranchID = " + sBranchID + ")";
        }

        if (sDateType != string.Empty)
        {
            #region FromDate and ToDate

            DateTime?FromDate = null;
            DateTime?ToDate   = null;

            if (sFromDate != string.Empty)
            {
                DateTime FromDate1;
                bool     IsDate1 = DateTime.TryParse(sFromDate, out FromDate1);
                if (IsDate1 == true)
                {
                    FromDate = FromDate1;
                }
            }

            if (sToDate != string.Empty)
            {
                DateTime ToDate1;
                bool     IsDate2 = DateTime.TryParse(sToDate, out ToDate1);
                if (IsDate2 == true)
                {
                    ToDate = ToDate1;
                }
            }

            string sFiledName = string.Empty;
            if (sDateType == "CloseDate")
            {
                sFiledName = "b.LastStageComplDate";
            }
            else
            {
                sFiledName = "b.LastStageComplDate";
            }

            sWhere += SqlTextBuilder.BuildDateSearchCondition(sFiledName, FromDate, ToDate);

            #endregion
        }

        #endregion

        #region Pipeline Summary

        #region get stage template list

        // loan manager
        LPWeb.BLL.Loans LoanManager = new LPWeb.BLL.Loans();

        if (sWorkflowType == "Archived")
        {
            #region init LoanAnalysisData

            this.LoanAnalysisData = new DataTable();
            this.LoanAnalysisData.Columns.Add("StageName", typeof(string));
            this.LoanAnalysisData.Columns.Add("StageAlias", typeof(string));
            this.LoanAnalysisData.Columns.Add("Href", typeof(string));
            this.LoanAnalysisData.Columns.Add("Amount", typeof(decimal));
            this.LoanAnalysisData.Columns.Add("LoanCounts", typeof(int)); //gdc CR40

            DataRow ClosedRow = this.LoanAnalysisData.NewRow();
            ClosedRow["StageName"]  = "Closed";
            ClosedRow["StageAlias"] = "Closed";
            ClosedRow["Href"]       = string.Empty;
            ClosedRow["Amount"]     = decimal.Zero;
            ClosedRow["LoanCounts"] = decimal.Zero;//gdc CR40
            this.LoanAnalysisData.Rows.Add(ClosedRow);

            DataRow CanceledRow = this.LoanAnalysisData.NewRow();
            CanceledRow["StageName"]  = "Canceled";
            CanceledRow["StageAlias"] = "Canceled";
            CanceledRow["Href"]       = string.Empty;
            CanceledRow["Amount"]     = decimal.Zero;
            CanceledRow["LoanCounts"] = decimal.Zero;//gdc CR40
            this.LoanAnalysisData.Rows.Add(CanceledRow);

            DataRow DeniedRow = this.LoanAnalysisData.NewRow();
            DeniedRow["StageName"]  = "Denied";
            DeniedRow["StageAlias"] = "Denied";
            DeniedRow["Href"]       = string.Empty;
            DeniedRow["Amount"]     = decimal.Zero;
            DeniedRow["LoanCounts"] = decimal.Zero;//gdc CR40
            this.LoanAnalysisData.Rows.Add(DeniedRow);

            //CR063 : Remove the “Suspended” status in the list of the “Archived Loans” status
            //DataRow SuspendedRow = this.LoanAnalysisData.NewRow();
            //SuspendedRow["StageName"] = "Suspended";
            //SuspendedRow["StageAlias"] = "Suspended";
            //SuspendedRow["Href"] = string.Empty;
            //SuspendedRow["Amount"] = decimal.Zero;
            //SuspendedRow["LoanCounts"] = decimal.Zero;//gdc CR40
            //this.LoanAnalysisData.Rows.Add(SuspendedRow);

            #endregion

            #region 添加Uncategorized分类

            DataRow UncategorizedRow = this.LoanAnalysisData.NewRow();
            UncategorizedRow["StageName"]  = "Uncategorized";
            UncategorizedRow["StageAlias"] = "Uncategorized";
            UncategorizedRow["Href"]       = string.Empty;
            UncategorizedRow["Amount"]     = decimal.Zero;
            UncategorizedRow["LoanCounts"] = decimal.Zero;//gdc CR40

            this.LoanAnalysisData.Rows.Add(UncategorizedRow);

            #endregion
        }
        else
        {
            string sSql2 = "select Name as StageName, Alias as StageAlias, '' as Href, 0.00 as Amount,0 as LoanCounts  from Template_Stages "
                           + "where WorkflowType=@WorkflowType and [Enabled]=1 order by SequenceNumber";
            SqlCommand SqlCmd2 = new SqlCommand(sSql2);
            DbHelperSQL.AddSqlParameter(SqlCmd2, "@WorkflowType", sWorkflowType);
            this.LoanAnalysisData = DbHelperSQL.ExecuteDataTable(SqlCmd2);

            #region 如果Lead,添加Uncategorized分类

            if (sWorkflowType == "Prospect")
            {
                DataRow NewStageTempRow = this.LoanAnalysisData.NewRow();
                NewStageTempRow["StageName"]  = "Uncategorized";
                NewStageTempRow["StageAlias"] = "Uncategorized";
                NewStageTempRow["Href"]       = string.Empty;
                NewStageTempRow["Amount"]     = decimal.Zero;
                NewStageTempRow["LoanCounts"] = decimal.Zero; //gdc CR40

                this.LoanAnalysisData.Rows.Add(NewStageTempRow);
            }

            #endregion
        }

        #endregion

        #region get user loan list

        string sStageField = string.Empty;

        if (sStageFilter == "CurrentStages")
        {
            sStageField = "b.Stage";
        }
        else
        {
            sStageField = "b.LastCompletedStage";
        }

        //string sSqlx1 = string.Format("select {0} as Stage, b.Amount as Amount from lpfn_GetUserLoans2({1}, {2}) as a inner join V_ProcessingPipelineInfo as b on a.LoanID = b.FileId ", sStageField, iCurrentUserID, (this.CurrentUser.bAccessOtherLoans)?1:0)
        //              + "where (1=1) " + sWhere;
        string sSqlx1 = "select " + sStageField + " as Stage, b.Amount as Amount from lpfn_GetUserLoans(" + this.iCurrentUserID + ") as a inner join V_ProcessingPipelineInfo as b on a.LoanID = b.FileId "
                        + "where (1=1) " + sWhere;
        DataTable UserLoanList = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSqlx1);

        #endregion

        #region set Amount and Href
        foreach (DataRow LoanAnaylysisRow in this.LoanAnalysisData.Rows)
        {
            string sStageName  = LoanAnaylysisRow["StageName"].ToString();
            string sStageAlias = LoanAnaylysisRow["StageAlias"] == DBNull.Value ? LoanAnaylysisRow["StageName"].ToString() : LoanAnaylysisRow["StageAlias"].ToString();
            if (sStageName == "Uncategorized")
            {
                #region Amount

                string sSqlx10 = string.Empty;
                if (sWorkflowType == "Prospect")
                {
                    sSqlx10 = "select isnull(SUM(b.Amount),0.00) as TotalAmount,count(1) as Total  from lpfn_GetUserLoans(" + this.iCurrentUserID + ") as a inner join V_ProcessingPipelineInfo as b on a.LoanID=b.FileId "
                              + "where (select COUNT(1) from LoanStages where FileId=a.LoanID)=0 " + sWhere;
                }
                else if (sWorkflowType == "Archived")
                {
                    //string sWhere10 = sWhere.Replace(" and (b.Status!='Processing') and (b.Status!='Prospect')", " and b.Status='Uncategorized Archive'");
                    //CR063 : Remove the “Suspended” status in the list of the “Archived Loans” status
                    string sWhere10 = sWhere.Replace(" and (b.Status!='Processing') and (b.Status!='Prospect') AND (b.Status != 'Suspended')", " and b.Status='Uncategorized Archive'");

                    sSqlx10 = "select isnull(SUM(b.Amount),0.00) as TotalAmount,count(1) as Total   from lpfn_GetUserLoans(" + this.iCurrentUserID + ") as a inner join V_ProcessingPipelineInfo as b on a.LoanID=b.FileId "
                              + "where 1=1 " + sWhere10;
                }

                //object oSum = LPWeb.DAL.DbHelperSQL.ExecuteScalar(sSqlx10);
                //decimal dSum = oSum == DBNull.Value ? decimal.Zero : Convert.ToDecimal(oSum);
                //LoanAnaylysisRow["Amount"] = dSum;


                decimal dSum  = 0;
                int     Total = 0;

                var dt = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSqlx10);
                if (dt.Rows.Count > 0)
                {
                    dSum  = dt.Rows[0]["TotalAmount"] == DBNull.Value ? decimal.Zero : Convert.ToDecimal(dt.Rows[0]["TotalAmount"]);
                    Total = dt.Rows[0]["Total"] == DBNull.Value ? 0 : Convert.ToInt32(dt.Rows[0]["Total"]);
                }

                LoanAnaylysisRow["Amount"]     = dSum;
                LoanAnaylysisRow["LoanCounts"] = Total;

                #endregion

                #region Href

                string sPipelineUrl = string.Empty;
                if (sWorkflowType == "Prospect")
                {
                    string sAliasString = this.BuildQueryString_PipelineSummary(sRegionID, sDivisionID, sBranchID, sDateType, sFromDate, sToDate, sWorkflowType, sStageAlias, sStageFilter);
                    sPipelineUrl = "Pipeline/ProspectPipelineSummaryLoan.aspx?q=" + Encrypter.Base64Encode(sAliasString);
                }
                else if (sWorkflowType == "Archived")
                {
                    string sAliasString = this.BuildQueryString_PipelineSummary(sRegionID, sDivisionID, sBranchID, sDateType, sFromDate, sToDate, sStageAlias, string.Empty, sStageFilter);
                    sPipelineUrl = "Pipeline/ProcessingPipelineSummary.aspx?q=" + Encrypter.Base64Encode(sAliasString);
                }

                LoanAnaylysisRow["Href"] = sPipelineUrl;

                #endregion
            }
            else
            {
                #region Amount

                object oLoanAmount = null;
                //oLoanAmount = UserLoanList.Compute("Sum(Amount)", "Stage='" + sStageName + "'");
                oLoanAmount = UserLoanList.Compute("Sum(Amount)", "Stage='" + sStageAlias + "'");

                //gdc CR40
                object oLoanTotal = null;
                oLoanTotal = UserLoanList.Compute("Count(Amount)", "Stage='" + sStageAlias + "'");


                decimal dLoanAmount = decimal.Zero;
                int     iLoanTotal  = 0;

                if ((oLoanAmount != null) && (oLoanAmount != DBNull.Value))
                {
                    dLoanAmount = Convert.ToDecimal(oLoanAmount, null);
                }

                //gdc CR40
                if ((oLoanTotal != null) && (oLoanTotal != DBNull.Value))
                {
                    iLoanTotal = Convert.ToInt32(oLoanTotal, null);
                }

                LoanAnaylysisRow["Amount"]     = dLoanAmount;
                LoanAnaylysisRow["LoanCounts"] = iLoanTotal; //gdc CR40
                #endregion

                #region Href

                string sPipelineUrl = string.Empty;
                if (sWorkflowType == "Processing")
                {
                    string sAliasString = this.BuildQueryString_PipelineSummary(sRegionID, sDivisionID, sBranchID, sDateType, sFromDate, sToDate, sWorkflowType, sStageAlias, sStageFilter);
                    sPipelineUrl = "Pipeline/ProcessingPipelineSummary.aspx?q=" + Encrypter.Base64Encode(sAliasString);
                }
                else if (sWorkflowType == "Prospect")
                {
                    string sAliasString = this.BuildQueryString_PipelineSummary(sRegionID, sDivisionID, sBranchID, sDateType, sFromDate, sToDate, sWorkflowType, sStageAlias, sStageFilter);
                    sPipelineUrl = "Pipeline/ProspectPipelineSummaryLoan.aspx?q=" + Encrypter.Base64Encode(sAliasString);
                }
                else if (sWorkflowType == "Archived")
                {
                    string sAliasString = this.BuildQueryString_PipelineSummary(sRegionID, sDivisionID, sBranchID, sDateType, sFromDate, sToDate, sStageAlias, string.Empty, sStageFilter);
                    sPipelineUrl = "Pipeline/ProcessingPipelineSummary.aspx?q=" + Encrypter.Base64Encode(sAliasString);
                }

                string sHref = sPipelineUrl;
                LoanAnaylysisRow["Href"] = sHref;

                #endregion
            }
        }
        #endregion

        this.rptLoanAnalysis.DataSource = this.LoanAnalysisData;
        this.rptLoanAnalysis.DataBind();
        #endregion

        #region peter's codes

        string strRootUrl = "";
        if (null != ConfigurationManager.AppSettings["WPOWARootUrl"])
        {
            strRootUrl = ConfigurationManager.AppSettings["WPOWARootUrl"];
        }
        try
        {
            OWAInboxPart myInbox = new OWAInboxPart();
            myInbox.OWAServerAddressRoot = strRootUrl;
            myInbox.ViewName             = ConfigurationManager.AppSettings["WPOWAInboxViewName"];
            this.phInbox.Controls.Add(myInbox);
        }
        catch (Exception ex)
        {
            Label lbl = new Label();
            lbl.Text = "Failed to load Webpart OWAInbox error: " + ex.Message;
            this.phInbox.Controls.Add(lbl);
            LPLog.LogMessage(LogType.Logerror, "Failed to load Webpart OWAInbox error: " + ex.Message);
        }
        try
        {
            OWACalendarPart myCalendar = new OWACalendarPart();
            myCalendar.OWAServerAddressRoot = strRootUrl;
            myCalendar.ViewName             = ConfigurationManager.AppSettings["WPOWACalendarViewName"];
            this.phMyCalendar.Controls.Add(myCalendar);
        }
        catch (Exception ex)
        {
            Label lbl = new Label();
            lbl.Text = "Failed to load Webpart OWACalendar error: " + ex.Message;
            this.phMyCalendar.Controls.Add(lbl);
            LPLog.LogMessage(LogType.Logerror, "Failed to load Webpart OWACalendar error: " + ex.Message);
        }

        SPWeb web = this.Web;
        //SPList spList = web.Lists[System.Configuration.ConfigurationManager.AppSettings["WPComAnnName"]];
        //SPView spView = spList.Views[System.Configuration.ConfigurationManager.AppSettings["WPComAnnViewName"]];
        //this.xlvwpComAnn.ListId = spList.ID;
        //this.xlvwpComAnn.ListName = string.Format("{{{0}}}", spList.ID.ToString());
        //this.xlvwpComAnn.ViewGuid = spView.ID.ToString();

        #region =====show company announcement webpart=====

        if (this.CurrentUser.userRole.Announcements == true)
        {
            this.divCompanyAnn.Visible = true;
        }
        else
        {
            this.divCompanyAnn.Visible = false;
        }

        // User Home Profile
        if (UserHomePref2 != null)
        {
            if (UserHomePref2.Announcements == true)
            {
                this.divCompanyAnn.Visible = true;
            }
            else
            {
                this.divCompanyAnn.Visible = false;
            }
        }

        if (this.divCompanyAnn.Visible == true)
        {
            SPList spListComAnn = null;
            SPView spViewComAnn = null;
            try
            {
                spListComAnn = web.Lists[System.Configuration.ConfigurationManager.AppSettings["WPComAnnName"]];
            }
            catch
            {
                spListComAnn = null;
            }
            if (null != spListComAnn)
            {
                try
                {
                    spViewComAnn = spListComAnn.Views[System.Configuration.ConfigurationManager.AppSettings["WPComAnnViewName"]];
                }
                catch
                {
                    spViewComAnn = null;
                }
                if (null != spViewComAnn)
                {
                    strComAnnListUrl = spListComAnn.DefaultViewUrl;

                    XsltListViewWebPart xlvwpComAnn = new XsltListViewWebPart();
                    xlvwpComAnn.ListId   = spListComAnn.ID;
                    xlvwpComAnn.ListName = string.Format("{{{0}}}", spListComAnn.ID.ToString());
                    xlvwpComAnn.ViewGuid = spViewComAnn.ID.ToString();
                    //xlvwpComAnn.Toolbar = "None";
                    xlvwpComAnn.XmlDefinition = @"
    <View Name=""{EC6E2014-F0A2-4273-B6BC-1A9F00110341}"" MobileView=""TRUE"" Type=""HTML"" Hidden=""TRUE"" DisplayName="""" Url=""/SitePages/Home.aspx"" Level=""1"" BaseViewID=""1"" ContentTypeID=""0x"" ImageUrl=""/_layouts/images/announce.png"">
      <Query>
        <OrderBy>
          <FieldRef Name=""Modified"" Ascending=""FALSE""/>
        </OrderBy>
      </Query>
      <ViewFields>
        <FieldRef Name=""LinkTitle""/>
      </ViewFields>
      <RowLimit Paged=""TRUE"">5</RowLimit>
      <Toolbar Type=""None""/>
    </View>";
                    xlvwpComAnn.Xsl           = @"
    <xsl:stylesheet xmlns:x=""http://www.w3.org/2001/XMLSchema"" xmlns:d=""http://schemas.microsoft.com/sharepoint/dsp"" version=""1.0"" exclude-result-prefixes=""xsl msxsl ddwrt"" xmlns:ddwrt=""http://schemas.microsoft.com/WebParts/v2/DataView/runtime"" xmlns:asp=""http://schemas.microsoft.com/ASPNET/20"" xmlns:__designer=""http://schemas.microsoft.com/WebParts/v2/DataView/designer"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" xmlns:msxsl=""urn:schemas-microsoft-com:xslt"" xmlns:SharePoint=""Microsoft.SharePoint.WebControls"" xmlns:ddwrt2=""urn:frontpage:internal"" xmlns:o=""urn:schemas-microsoft-com:office:office"">
      <xsl:include href=""/_layouts/xsl/main.xsl""/>
      <xsl:include href=""/_layouts/xsl/internal.xsl""/>
      <xsl:param name=""AllRows"" select=""/dsQueryResponse/Rows/Row[$EntityName = '' or (position() &gt;= $FirstRow and position() &lt;= $LastRow)]""/>
      <xsl:param name=""dvt_apos"">'</xsl:param>

      <xsl:template name=""FieldRef_ValueOf.Modified"" ddwrt:dvt_mode=""body"" ddwrt:ghost="""" xmlns:ddwrt2=""urn:frontpage:internal"">
        <xsl:param name=""thisNode"" select="".""/>
        <span style=""color: #FF00FF"">
          <xsl:value-of select=""$thisNode/@*[name()=current()/@Name]"" />
        </span>
      </xsl:template>
    </xsl:stylesheet>";
                    this.phComAnn.Controls.Add(xlvwpComAnn);
                }
                else
                {
                    Label lbl = new Label();
                    lbl.Text = string.Format("Can not find the specified webpart view with name \"{0}\".",
                                             System.Configuration.ConfigurationManager.AppSettings["WPComAnnViewName"]);
                    this.phComAnn.Controls.Add(lbl);
                }
            }
            else
            {
                Label lbl = new Label();
                lbl.Text = string.Format("Can not find the specified webpart with name \"{0}\".",
                                         System.Configuration.ConfigurationManager.AppSettings["WPComAnnName"]);
                this.phComAnn.Controls.Add(lbl);
            }
        }
        #endregion

        #region =====show company calendar webpart=====

        if (this.CurrentUser.userRole.CompanyCalendar == true)
        {
            this.divComCal.Visible = true;
        }
        else
        {
            this.divComCal.Visible = false;
        }

        // User Home Profile
        if (UserHomePref2 != null)
        {
            if (UserHomePref2.CompanyCalendar == true)
            {
                this.divComCal.Visible = true;
            }
            else
            {
                this.divComCal.Visible = false;
            }
        }

        if (this.divComCal.Visible == true)
        {
            SPList spListComCal = null;
            SPView spViewComCal = null;
            try
            {
                spListComCal = web.Lists[System.Configuration.ConfigurationManager.AppSettings["WPComCalName"]];
            }
            catch
            {
                spListComCal = null;
            }
            if (null != spListComCal)
            {
                try
                {
                    spViewComCal = spListComCal.Views[System.Configuration.ConfigurationManager.AppSettings["WPComCalViewName"]];
                }
                catch
                {
                    spViewComCal = null;
                }
                if (null != spViewComCal)
                {
                    strComCalListUrl = spListComCal.DefaultViewUrl;

                    XsltListViewWebPart xlvwpComCal = new XsltListViewWebPart();
                    xlvwpComCal.ListId   = spListComCal.ID;
                    xlvwpComCal.ListName = string.Format("{{{0}}}", spListComCal.ID.ToString());
                    xlvwpComCal.ViewGuid = spViewComCal.ID.ToString();
                    //xlvwpComCal.Toolbar = "None";
                    xlvwpComCal.XmlDefinition = @"<View Name=""{3A64E1C5-8CDF-418C-A94F-5E66F61EB5CF}"" MobileView=""TRUE"" Type=""HTML"" Hidden=""TRUE"" DisplayName="""" Url=""/SitePages/Test webparts.aspx"" Level=""1"" BaseViewID=""2"" ContentTypeID=""0x"" MobileUrl=""_layouts/mobile/viewdaily.aspx"" ImageUrl=""/_layouts/images/events.png"">
				<Query>
					<Where>
						<DateRangesOverlap>
							<FieldRef Name=""EventDate""/>
							<FieldRef Name=""EndDate""/>
							<FieldRef Name=""RecurrenceID""/>
							<Value Type=""DateTime"">
								<Month/>
							</Value>
						</DateRangesOverlap>
					</Where>
				</Query>
				<ViewFields>
					<FieldRef Name=""Title""/>
					<FieldRef Name=""EventDate""/>
				</ViewFields>
				<Toolbar Type=""None""/>
			</View>"            ;
                    xlvwpComCal.Xsl           = @"<xsl:stylesheet xmlns:x=""http://www.w3.org/2001/XMLSchema"" xmlns:d=""http://schemas.microsoft.com/sharepoint/dsp"" version=""1.0"" exclude-result-prefixes=""xsl msxsl ddwrt"" xmlns:ddwrt=""http://schemas.microsoft.com/WebParts/v2/DataView/runtime"" xmlns:asp=""http://schemas.microsoft.com/ASPNET/20"" xmlns:__designer=""http://schemas.microsoft.com/WebParts/v2/DataView/designer"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" xmlns:msxsl=""urn:schemas-microsoft-com:xslt"" xmlns:SharePoint=""Microsoft.SharePoint.WebControls"" xmlns:ddwrt2=""urn:frontpage:internal"" xmlns:o=""urn:schemas-microsoft-com:office:office""> 
  <xsl:include href=""/_layouts/xsl/main.xsl""/> 
  <xsl:include href=""/_layouts/xsl/internal.xsl""/> 
            <xsl:param name=""AllRows"" select=""/dsQueryResponse/Rows/Row[$EntityName = '' or (position() &gt;= $FirstRow and position() &lt;= $LastRow)]""/>
            <xsl:param name=""dvt_apos"">'</xsl:param>
			<xsl:template name=""FieldRef_Recurrence_body.fRecurrence"" ddwrt:dvt_mode=""body"" match=""FieldRef[@Name='fRecurrence']"" mode=""Recurrence_body"" ddwrt:ghost="""" xmlns:ddwrt2=""urn:frontpage:internal"">
                <xsl:param name=""thisNode"" select="".""/>
                <xsl:variable name=""fRecurrence"" select=""$thisNode/@*[name()=current()/@Name]""/>
                <xsl:variable name=""src"">/_layouts/images/
					<xsl:choose>
                        <xsl:when test=""$fRecurrence='1'"">
                            <xsl:choose>
                                <xsl:when test=""$thisNode/@EventType='3'"">recurEx.gif</xsl:when>
                                <xsl:when test=""$thisNode/@EventType='4'"">recurEx.gif</xsl:when>
                                <xsl:otherwise>recur.gif</xsl:otherwise>
                            </xsl:choose>
        </xsl:when>
                        <xsl:otherwise>blank.gif</xsl:otherwise>
                    </xsl:choose>
    </xsl:variable>
                <xsl:variable name=""alt"">
                    <xsl:if test=""$fRecurrence='1'"">
                        <xsl:choose>
                            <xsl:when test=""@EventType='3'"">
            <xsl:value-of select=""'Exception to Recurring Event'""/>
          </xsl:when>
                            <xsl:when test=""@EventType='4'"">
            <xsl:value-of select=""'Exception to Recurring Event'""/>
          </xsl:when>
                            <xsl:otherwise>
            <xsl:value-of select=""'Recurring Event'""/>
          </xsl:otherwise>
                        </xsl:choose>
      </xsl:if>
    </xsl:variable>
    <img border=""0"" width=""16"" height=""16"" src=""/_layouts/images/
			blank.gif"" alt=""{$alt}"" title=""{$alt}""/>
  </xsl:template></xsl:stylesheet>";
                    this.phComCal.Controls.Add(xlvwpComCal);
                }
                else
                {
                    Label lbl = new Label();
                    lbl.Text = string.Format("Can not find the specified webpart view with name \"{0}\".",
                                             System.Configuration.ConfigurationManager.AppSettings["WPComCalViewName"]);
                    this.phComCal.Controls.Add(lbl);
                }
            }
            else
            {
                Label lbl = new Label();
                lbl.Text = string.Format("Can not find the specified webpart with name \"{0}\".",
                                         System.Configuration.ConfigurationManager.AppSettings["WPComCalName"]);
                this.phComCal.Controls.Add(lbl);
            }
        }
        #endregion

        #region =====show rates sheet webpart=====

        if (this.CurrentUser.userRole.RateSummary == true)
        {
            this.divRates.Visible = true;
        }
        else
        {
            this.divRates.Visible = false;
        }

        // User Home Profile
        if (UserHomePref2 != null)
        {
            if (UserHomePref2.RateSummary == true)
            {
                this.divRates.Visible = true;
            }
            else
            {
                this.divRates.Visible = false;
            }
        }

        if (this.divRates.Visible == true)
        {
            SPList spListRates = null;
            SPView spViewRates = null;
            try
            {
                spListRates = web.Lists[System.Configuration.ConfigurationManager.AppSettings["WPRatesName"]];
            }
            catch
            {
                spListRates = null;
            }
            if (null != spListRates)
            {
                try
                {
                    spViewRates = spListRates.Views[System.Configuration.ConfigurationManager.AppSettings["WPRatesViewName"]];
                }
                catch
                {
                    spViewRates = null;
                }
                if (null != spViewRates)
                {
                    strRatesListUrl = spListRates.DefaultViewUrl;

                    XsltListViewWebPart xlvwpRates = new XsltListViewWebPart();
                    xlvwpRates.ListId   = spListRates.ID;
                    xlvwpRates.ListName = string.Format("{{{0}}}", spListRates.ID.ToString());
                    xlvwpRates.ViewGuid = spViewRates.ID.ToString();
                    //xlvwpRates.Toolbar = "None";
                    xlvwpRates.XmlDefinition = @"<View Name=""{FE66F61E-EBF7-49E8-BD37-F9955793DDCE}"" MobileView=""TRUE"" Type=""HTML"" Hidden=""TRUE"" DisplayName="""" Url=""/SitePages/Test webparts.aspx"" Level=""1"" BaseViewID=""1"" ContentTypeID=""0x"" ImageUrl=""/_layouts/images/dlicon.png"">
				<Query>
					<OrderBy>
						<FieldRef Name=""FileLeafRef""/>
					</OrderBy>
				</Query>
				<ViewFields>
					<FieldRef Name=""LinkFilename""/>
				</ViewFields>
				<RowLimit Paged=""TRUE"">30</RowLimit>
				<Toolbar Type=""None""/>
			</View>"            ;
                    xlvwpRates.Xsl           = @"
    <xsl:stylesheet xmlns:x=""http://www.w3.org/2001/XMLSchema"" xmlns:d=""http://schemas.microsoft.com/sharepoint/dsp"" version=""1.0"" exclude-result-prefixes=""xsl msxsl ddwrt"" xmlns:ddwrt=""http://schemas.microsoft.com/WebParts/v2/DataView/runtime"" xmlns:asp=""http://schemas.microsoft.com/ASPNET/20"" xmlns:__designer=""http://schemas.microsoft.com/WebParts/v2/DataView/designer"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" xmlns:msxsl=""urn:schemas-microsoft-com:xslt"" xmlns:SharePoint=""Microsoft.SharePoint.WebControls"" xmlns:ddwrt2=""urn:frontpage:internal"" xmlns:o=""urn:schemas-microsoft-com:office:office"">
      <xsl:include href=""/_layouts/xsl/main.xsl""/>
      <xsl:include href=""/_layouts/xsl/internal.xsl""/>
      <xsl:param name=""AllRows"" select=""/dsQueryResponse/Rows/Row[$EntityName = '' or (position() &gt;= $FirstRow and position() &lt;= $LastRow)]""/>
      <xsl:param name=""dvt_apos"">'</xsl:param>

      <xsl:template name=""FieldRef_ValueOf.Modified"" ddwrt:dvt_mode=""body"" ddwrt:ghost="""" xmlns:ddwrt2=""urn:frontpage:internal"">
        <xsl:param name=""thisNode"" select="".""/>
        <span style=""color: #FF00FF"">
          <xsl:value-of select=""$thisNode/@*[name()=current()/@Name]"" />
        </span>
      </xsl:template>
    </xsl:stylesheet>";
                    this.phRates.Controls.Add(xlvwpRates);
                }
                else
                {
                    Label lbl = new Label();
                    lbl.Text = string.Format("Can not find the specified webpart view with name \"{0}\".",
                                             System.Configuration.ConfigurationManager.AppSettings["WPComCalViewName"]);
                    this.phRates.Controls.Add(lbl);
                }
            }
            else
            {
                Label lbl = new Label();
                lbl.Text = string.Format("Can not find the specified webpart with name \"{0}\".",
                                         System.Configuration.ConfigurationManager.AppSettings["WPRatesName"]);
                this.phRates.Controls.Add(lbl);
            }
        }
        #endregion

        #endregion
    }
예제 #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        #region 接收页面参数

        #region checkbox

        bSearchLoans = true;
        if (this.Request.QueryString["SearchLoans"] != null)
        {
            string sSearchLoans = this.Request.QueryString["SearchLoans"].ToString();
            if (sSearchLoans != "true" && sSearchLoans != "false")
            {
                PageCommon.WriteJsEnd(this, "Invalid SearchLoans option.", "window.location.href = window.location.pathname;");
            }

            bSearchLoans = Boolean.Parse(sSearchLoans);
        }

        bSearchOpportunities = true;
        if (this.Request.QueryString["SearchOpportunities"] != null)
        {
            string sSearchOpportunities = this.Request.QueryString["SearchOpportunities"].ToString();
            if (sSearchOpportunities != "true" && sSearchOpportunities != "false")
            {
                PageCommon.WriteJsEnd(this, "Invalid SearchOpportunities option.", "window.location.href = window.location.pathname;");
            }

            bSearchOpportunities = Boolean.Parse(sSearchOpportunities);
        }

        bSearchArchivedLoans = true;
        if (this.Request.QueryString["SearchArchivedLoans"] != null)
        {
            string sSearchArchivedLoans = this.Request.QueryString["SearchArchivedLoans"].ToString();
            if (sSearchArchivedLoans != "true" && sSearchArchivedLoans != "false")
            {
                PageCommon.WriteJsEnd(this, "Invalid SearchArchivedLoans option.", "window.location.href = window.location.pathname;");
            }

            bSearchArchivedLoans = Boolean.Parse(sSearchArchivedLoans);
        }

        bSearchClients = true;
        if (this.Request.QueryString["SearchClients"] != null)
        {
            string sSearchClients = this.Request.QueryString["SearchClients"].ToString();
            if (sSearchClients != "true" && sSearchClients != "false")
            {
                PageCommon.WriteJsEnd(this, "Invalid SearchClients option.", "window.location.href = window.location.pathname;");
            }

            bSearchClients = Boolean.Parse(sSearchClients);
        }

        bSearchPartners = true;
        if (this.Request.QueryString["SearchPartners"] != null)
        {
            string sSearchPartners = this.Request.QueryString["SearchPartners"].ToString();
            if (sSearchPartners != "true" && sSearchPartners != "false")
            {
                PageCommon.WriteJsEnd(this, "Invalid SearchPartners option.", "window.location.href = window.location.pathname;");
            }

            bSearchPartners = Boolean.Parse(sSearchPartners);
        }


        #endregion

        #region textbox

        // Name
        sName = string.Empty;
        if (this.Request.QueryString["Name"] != null)
        {
            sName = this.Request.QueryString["Name"].ToString();
        }

        // Company
        sCompany = string.Empty;
        if (this.Request.QueryString["Company"] != null)
        {
            sCompany = this.Request.QueryString["Company"].ToString();
        }

        // Address
        sAddress = string.Empty;
        if (this.Request.QueryString["Address"] != null)
        {
            sAddress = this.Request.QueryString["Address"].ToString();
        }

        // City
        sCity = string.Empty;
        if (this.Request.QueryString["City"] != null)
        {
            sCity = this.Request.QueryString["City"].ToString();
        }

        // State
        sState = string.Empty;
        if (this.Request.QueryString["State"] != null)
        {
            sState = this.Request.QueryString["State"].ToString();
        }

        // Email
        sEmail = string.Empty;
        if (this.Request.QueryString["Email"] != null)
        {
            sEmail = this.Request.QueryString["Email"].ToString();
        }

        // Phone
        sPhone = string.Empty;
        if (this.Request.QueryString["Phone"] != null)
        {
            sPhone = this.Request.QueryString["Phone"].ToString();
        }

        // Loan Number
        sLoanNumber = string.Empty;
        if (this.Request.QueryString["LoanNumber"] != null)
        {
            sLoanNumber = this.Request.QueryString["LoanNumber"].ToString();
        }

        // Filename
        sFilename = string.Empty;
        if (this.Request.QueryString["Filename"] != null)
        {
            sFilename = this.Request.QueryString["Filename"].ToString();
        }

        #endregion

        #region dropdown list

        // Loan Officer
        sLoanOfficer = string.Empty;
        if (this.Request.QueryString["LoanOfficer"] != null)
        {
            string sLoanOfficerTemp = this.Request.QueryString["LoanOfficer"].ToString();
            if (PageCommon.IsID(sLoanOfficerTemp) == false)
            {
                PageCommon.WriteJsEnd(this, "Invalid LoanOfficer id.", "window.location.href = window.location.pathname;");
            }

            sLoanOfficer = sLoanOfficerTemp;
        }

        // Processor
        sProcessor = string.Empty;
        if (this.Request.QueryString["Processor"] != null)
        {
            string sProcessorTemp = this.Request.QueryString["Processor"].ToString();
            if (PageCommon.IsID(sProcessorTemp) == false)
            {
                PageCommon.WriteJsEnd(this, "Invalid Processor id.", "window.location.href = window.location.pathname;");
            }

            sProcessor = sProcessorTemp;
        }

        // Region
        sRegion = string.Empty;
        if (this.Request.QueryString["Region"] != null)
        {
            string sRegionTemp = this.Request.QueryString["Region"].ToString();
            if (PageCommon.IsID(sRegionTemp) == false)
            {
                PageCommon.WriteJsEnd(this, "Invalid region id.", "window.location.href = window.location.pathname;");
            }

            sRegion = sRegionTemp;
        }

        // Division
        sDivision = string.Empty;
        if (this.Request.QueryString["Division"] != null)
        {
            string sDivisionTemp = this.Request.QueryString["Division"].ToString();
            if (PageCommon.IsID(sDivisionTemp) == false)
            {
                PageCommon.WriteJsEnd(this, "Invalid division id.", "window.location.href = window.location.pathname;");
            }

            sDivision = sDivisionTemp;
        }

        // Branch
        sBranch = string.Empty;
        if (this.Request.QueryString["Branch"] != null)
        {
            string sBranchTemp = this.Request.QueryString["Branch"].ToString();
            if (PageCommon.IsID(sBranchTemp) == false)
            {
                PageCommon.WriteJsEnd(this, "Invalid Branch id.", "window.location.href = window.location.pathname;");
            }

            sBranch = sBranchTemp;
        }

        // Service Type
        sServiceType = string.Empty;
        if (this.Request.QueryString["ServiceType"] != null)
        {
            string sServiceTypeTemp = this.Request.QueryString["ServiceType"].ToString();
            if (PageCommon.IsID(sServiceTypeTemp) == false)
            {
                PageCommon.WriteJsEnd(this, "Invalid ServiceType id.", "window.location.href = window.location.pathname;");
            }

            sServiceType = sServiceTypeTemp;
        }

        #endregion

        #endregion
        CurrentUser = this.CurrUser;
        #region Dropdown Lists

        #region 加载Loan Officer List

        if (CurrentUser.iRoleID > 2 && CurrentUser.userRole.OtherLoanAccess == false)
        {
            this.ddlLoanOfficer.Enabled = false;
        }
        else
        {
            DataTable LoanOfficerListData = this.GetLoanOfficerList(CurrentUser.iUserID);

            DataRow NewLoanOfficerRow = LoanOfficerListData.NewRow();
            NewLoanOfficerRow["UserId"]   = DBNull.Value;
            NewLoanOfficerRow["FullName"] = "All";

            LoanOfficerListData.Rows.InsertAt(NewLoanOfficerRow, 0);

            this.ddlLoanOfficer.DataSource = LoanOfficerListData;
            this.ddlLoanOfficer.DataBind();
        }

        #endregion

        #region 加载Processor List

        if (CurrentUser.iRoleID > 2 && CurrentUser.userRole.OtherLoanAccess == false)
        {
            this.ddlProcessor.Enabled = false;
        }
        else
        {
            DataTable ProcessorListData = this.GetProcessorList(CurrentUser.iUserID);

            DataRow NewProcessorRow = ProcessorListData.NewRow();
            NewProcessorRow["UserId"]   = DBNull.Value;
            NewProcessorRow["FullName"] = "All";

            ProcessorListData.Rows.InsertAt(NewProcessorRow, 0);

            this.ddlProcessor.DataSource = ProcessorListData;
            this.ddlProcessor.DataBind();
        }

        #endregion

        #region 加载Region List

        if (CurrentUser.bIsCompanyExecutive == true && CurrentUser.userRole.OtherLoanAccess == true)
        {
            #region 加载Region List

            DataTable RegionListData = this.GetRegionList();

            DataRow NewRegionRow = RegionListData.NewRow();
            NewRegionRow["RegionId"] = DBNull.Value;
            NewRegionRow["Name"]     = "All";

            RegionListData.Rows.InsertAt(NewRegionRow, 0);

            this.ddlRegion.DataSource = RegionListData;
            this.ddlRegion.DataBind();

            #endregion
        }
        else
        {
            this.ddlRegion.Enabled = false;
        }

        #endregion

        #region 加载Division List

        if ((CurrentUser.bIsCompanyExecutive == true && CurrentUser.userRole.OtherLoanAccess == true) ||
            (CurrentUser.bIsRegionExecutive == true && CurrentUser.userRole.OtherLoanAccess == true))
        {
            #region 加载Division List

            DataTable DivisionListData = this.GetDivisionList(sRegion);

            DataRow NewDivisionRow = DivisionListData.NewRow();
            NewDivisionRow["DivisionId"] = DBNull.Value;
            NewDivisionRow["Name"]       = "All";

            DivisionListData.Rows.InsertAt(NewDivisionRow, 0);

            this.ddlDivision.DataSource = DivisionListData;
            this.ddlDivision.DataBind();

            #endregion
        }
        else
        {
            this.ddlDivision.Enabled = false;
        }

        #endregion

        #region 加载Branch List

        if ((CurrentUser.bIsCompanyExecutive == true && CurrentUser.userRole.OtherLoanAccess == true) ||
            (CurrentUser.bIsRegionExecutive == true && CurrentUser.userRole.OtherLoanAccess == true) ||
            (CurrentUser.bIsDivisionExecutive == true && CurrentUser.userRole.OtherLoanAccess == true))
        {
            #region 加载Branch List

            DataTable BranchListData = this.GetBranchList(sDivision);

            DataRow NewBranchRow = BranchListData.NewRow();
            NewBranchRow["BranchId"] = DBNull.Value;
            NewBranchRow["Name"]     = "All";

            BranchListData.Rows.InsertAt(NewBranchRow, 0);

            this.ddlBranch.DataSource = BranchListData;
            this.ddlBranch.DataBind();

            #endregion
        }
        else
        {
            this.ddlBranch.Enabled = false;
        }

        #endregion

        #region 加载ServiceType List

        DataTable ServiceTypeListData = this.GetServiceTypeList();

        DataRow NewServiceTypeRow = ServiceTypeListData.NewRow();
        NewServiceTypeRow["ServiceTypeId"] = DBNull.Value;
        NewServiceTypeRow["Name"]          = "All";

        ServiceTypeListData.Rows.InsertAt(NewServiceTypeRow, 0);

        this.ddlServiceType.DataSource = ServiceTypeListData;
        this.ddlServiceType.DataBind();

        #endregion

        #endregion

        if (this.Request.QueryString.Count == 0)
        {
            this.divSearchResultTile.Visible      = false;
            this.divSearchResultContainer.Visible = false;
        }
        else
        {
            this.divActiveLoansContainer.Visible   = bSearchLoans;
            this.divOpportunitiesContainer.Visible = bSearchOpportunities;
            this.divArchivedLoansContainer.Visible = bSearchArchivedLoans;
            this.divClientsContainer.Visible       = bSearchClients;
            this.divPartnersContainer.Visible      = bSearchPartners;

            if (bSearchLoans == true || bSearchOpportunities == true || bSearchArchivedLoans == true)
            {
                #region sWhere

                DataTable IDDataTable = new DataTable();
                IDDataTable.Columns.Add("FileId", typeof(int));

                // Name
                //if (sName != string.Empty)
                //{
                //string sSql0 = "select distinct a.FileId from LoanContacts as a inner join Contacts as b on a.ContactId = b.ContactId "
                //             + "where lower(b.LastName) like lower('" + SqlTextBuilder.ConvertQueryValue(sName) + "%')"
                //             + " or lower(b.FirstName) like lower('" + SqlTextBuilder.ConvertQueryValue(sName) + "%') ";
                //DataTable IDs = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                ////Fixed bug 779(20110501 Rocky)
                //if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                //{
                //    DataRow drNew = IDs.NewRow();
                //    drNew["FileId"] = 0;
                //    IDs.Rows.Add(drNew);
                //}
                //IDDataTable.Merge(IDs);

                //}

                // Company
                if (sCompany != string.Empty)
                {
                    string sSql0 = "select distinct c.FileId from Contacts as a inner join ContactCompanies as b on a.ContactCompanyId = b.ContactCompanyId "
                                   + "inner join LoanContacts as c on a.ContactId = c.ContactId "
                                   + "where lower(b.Name) like lower('" + SqlTextBuilder.ConvertQueryValue(sCompany) + "%')";
                    DataTable IDs = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Address
                if (sAddress != string.Empty)
                {
                    string    sSql0 = "select FileId from Loans where lower(PropertyAddr)=lower('" + SqlTextBuilder.ConvertQueryValue(sAddress) + "')";
                    DataTable IDs   = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // City
                if (sCity != string.Empty)
                {
                    string    sSql0 = "select FileId from Loans where lower(PropertyCity)=lower('" + SqlTextBuilder.ConvertQueryValue(sCity) + "')";
                    DataTable IDs   = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // State
                if (sState != string.Empty)
                {
                    string    sSql0 = "select FileId from Loans where PropertyState='" + SqlTextBuilder.ConvertQueryValue(sState) + "'";
                    DataTable IDs   = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Email
                if (sEmail != string.Empty)
                {
                    string sSql0 = "select distinct a.FileId from LoanContacts as a inner join Contacts as b on a.ContactId = b.ContactId "
                                   + "where lower(b.Email)=lower('" + SqlTextBuilder.ConvertQueryValue(sEmail) + "')";
                    DataTable IDs = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Phone
                if (sPhone != string.Empty)
                {
                    string sSql0 = "select distinct a.FileId from LoanContacts as a inner join Contacts as b on a.ContactId = b.ContactId "
                                   + "where b.BusinessPhone='" + SqlTextBuilder.ConvertQueryValue(sPhone) + "' or b.CellPhone='" + SqlTextBuilder.ConvertQueryValue(sPhone) + "' or b.HomePhone='" + SqlTextBuilder.ConvertQueryValue(sPhone) + "'";
                    DataTable IDs = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Loan Number
                if (sLoanNumber != string.Empty)
                {
                    string    sSql0 = "select FileId from Loans where LoanNumber='" + SqlTextBuilder.ConvertQueryValue(sLoanNumber) + "'";
                    DataTable IDs   = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Filename
                if (sFilename != string.Empty)
                {
                    string    sSql0 = "select FileId from PointFiles where Name='" + SqlTextBuilder.ConvertQueryValue(sFilename) + "'";
                    DataTable IDs   = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Loan Officer
                if (sLoanOfficer != string.Empty)
                {
                    string    sSql0 = "select distinct FileId from LoanTeam where RoleId=3 and UserId=" + sLoanOfficer;
                    DataTable IDs   = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Processor
                if (sProcessor != string.Empty)
                {
                    string    sSql0 = "select distinct FileId from LoanTeam where RoleId=5 and UserId=" + sProcessor;
                    DataTable IDs   = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Region
                if (sRegion != string.Empty)
                {
                    string sSql0 = "select a.FileId from PointFiles as a inner join GroupFolder as b on a.FolderId = b.FolderId "
                                   + "inner join Branches as c on b.GroupID = c.GroupId "
                                   + "where c.RegionID=" + sRegion;
                    DataTable IDs = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Division
                if (sDivision != string.Empty)
                {
                    string sSql0 = "select a.FileId from PointFiles as a inner join GroupFolder as b on a.FolderId = b.FolderId "
                                   + "inner join Branches as c on b.GroupID = c.GroupId "
                                   + "where c.DivisionID=" + sDivision;
                    DataTable IDs = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Branch
                if (sBranch != string.Empty)
                {
                    string sSql0 = "select a.FileId from PointFiles as a inner join GroupFolder as b on a.FolderId = b.FolderId "
                                   + "inner join Branches as c on b.GroupID = c.GroupId "
                                   + "where c.BranchID=" + sBranch;
                    DataTable IDs = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                // Service Type
                if (sServiceType != string.Empty)
                {
                    string sSql0 = "select a.FileId from LoanContacts as a inner join Contacts as b on a.ContactId = b.ContactId "
                                   + "inner join ContactCompanies as c on b.ContactCompanyId = c.ContactCompanyId where c.ServiceTypeId=" + sServiceType;
                    DataTable IDs = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                    //Fixed bug 779(20110501 Rocky)
                    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                    {
                        DataRow drNew = IDs.NewRow();
                        drNew["FileId"] = 0;
                        IDs.Rows.Add(drNew);
                    }
                    IDDataTable.Merge(IDs);
                }

                //用户权限 gdc Bug #1669
                //if (1 == 1)
                //{
                //    string sSql0 = string.Format("  SELECT LoanID as FileId FROM dbo.[lpfn_GetUserLoans2] ('{0}', '{1}')", CurrUser.iUserID, CurrUser.bAccessOtherLoans);
                //    DataTable IDs = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql0);
                //    //Fixed bug 779(20110501 Rocky)
                //    if (IDs.Rows.Count == 0 && IDDataTable.Select("FileId=0").Length < 1)
                //    {
                //        DataRow drNew = IDs.NewRow();
                //        drNew["FileId"] = 0;
                //        IDs.Rows.Add(drNew);
                //    }
                //    IDDataTable.Merge(IDs);
                //}

                // distinct


                DataView  IDDataView     = new DataView(IDDataTable);
                DataTable DistinctIDList = IDDataView.ToTable(true, "FileId");

                string sWhere = string.Empty;
                if (!string.IsNullOrEmpty(sName))
                {
                    sWhere += string.Format(" and FullName like '{0}%' ", SqlTextBuilder.ConvertQueryValue(sName));
                }

                if (DistinctIDList.Rows.Count > 0)
                {
                    StringBuilder sbFileIDs = new StringBuilder();
                    for (int i = 0; i < DistinctIDList.Rows.Count; i++)
                    {
                        string sFileID = DistinctIDList.Rows[i]["FileId"].ToString();

                        //Fixed bug 779(20110501 Rocky)
                        if (sFileID == "0")
                        {
                            sbFileIDs.Append("0");
                            sWhere += " AND FileId = 0";
                            break;
                        }
                        if (i == 0)
                        {
                            sbFileIDs.Append(sFileID);
                        }
                        else
                        {
                            sbFileIDs.Append("," + sFileID);
                        }
                    }
                    //Fixed bug#114 by Rocky
                    sWhere += " AND FileId IN(" + sbFileIDs.ToString() + ")";
                }

                //用户权限 gdc Bug #1669 20120523
                if (CurrUser.bIsCompanyExecutive || CurrUser.bIsRegionExecutive || CurrUser.bIsDivisionExecutive)
                {
                    sWhere += string.Format(" and FileId in (Select LoanId as FileId from [dbo].[lpfn_GetUserLoans_Executive] ({0})) ", CurrUser.iUserID);
                }
                if (CurrUser.bIsBranchManager)
                {
                    sWhere += string.Format(" and FileId in (Select LoanId as FileId from [dbo].[lpfn_GetUserLoans_Branch_Manager] ({0})) ", CurrUser.iUserID);
                }
                else
                {
                    sWhere += string.Format(" and FileId in (Select LoanId as FileId from [dbo].[lpfn_GetUserLoans2]({0},{1})) ", CurrUser.iUserID, (CurrUser.bAccessOtherLoans) ? 1 : 0);
                }
                #endregion

                #region 加载Active Loans

                if (bSearchLoans == true)
                {
                    this.ActiveLoanSqlDataSource.ConnectionString = LPWeb.DAL.DbHelperSQL.connectionString;

                    int iRowCount = LPWeb.DAL.DbHelperSQL.Count(this.ActiveLoanSqlDataSource.SelectParameters["DbTable"].DefaultValue, sWhere);

                    this.AspNetPager1.RecordCount = iRowCount;

                    #region Pipeline Link

                    if (iRowCount > 0)
                    {
                        string sFileIDs        = this.GetFileIDs(this.ActiveLoanSqlDataSource.SelectParameters["DbTable"].DefaultValue, sWhere);
                        string sFileIDs_Encode = Encrypter.Base64Encode(sFileIDs);
                        this.aPipeline_ActiveLoans.HRef = "ProcessingPipelineSummary.aspx?Ads=" + sFileIDs_Encode;
                    }
                    else
                    {
                        this.aPipeline_ActiveLoans.HRef = "javascript:alert('There is no active loan meeting the criteria.')";
                    }

                    #endregion

                    this.ActiveLoanSqlDataSource.SelectParameters["Where"].DefaultValue = sWhere;
                    this.gridActiveLoanList.DataBind();
                }

                #endregion

                #region 加载Opportunities

                if (bSearchOpportunities == true)
                {
                    this.OpportunitySqlDataSource.ConnectionString = LPWeb.DAL.DbHelperSQL.connectionString;

                    int iRowCount = LPWeb.DAL.DbHelperSQL.Count(this.OpportunitySqlDataSource.SelectParameters["DbTable"].DefaultValue, sWhere);

                    this.AspNetPager2.RecordCount = iRowCount;

                    #region Pipeline Link

                    if (iRowCount > 0)
                    {
                        string sFileIDs        = this.GetFileIDs(this.OpportunitySqlDataSource.SelectParameters["DbTable"].DefaultValue, sWhere);
                        string sFileIDs_Encode = Encrypter.Base64Encode(sFileIDs);
                        this.aPipeline_Opportunities.HRef = "ProspectPipelineSummaryLoan.aspx?Ads=" + sFileIDs_Encode;
                    }
                    else
                    {
                        this.aPipeline_Opportunities.HRef = "javascript:alert('There is no prospect loan by criteria.')";
                    }

                    #endregion

                    this.OpportunitySqlDataSource.SelectParameters["Where"].DefaultValue = sWhere;
                    this.gridOpportunityList.DataBind();
                }

                #endregion

                #region 加载Archived Loans

                if (bSearchArchivedLoans == true)
                {
                    this.ArchivedLoanSqlDataSource.ConnectionString = LPWeb.DAL.DbHelperSQL.connectionString;

                    int iRowCount = LPWeb.DAL.DbHelperSQL.Count(this.ArchivedLoanSqlDataSource.SelectParameters["DbTable"].DefaultValue, sWhere);

                    this.AspNetPager3.RecordCount = iRowCount;

                    #region Pipeline Link

                    if (iRowCount > 0)
                    {
                        string sFileIDs        = this.GetFileIDs(this.ArchivedLoanSqlDataSource.SelectParameters["DbTable"].DefaultValue, sWhere);
                        string sFileIDs_Encode = Encrypter.Base64Encode(sFileIDs);
                        this.aPipeline_ArchivedLoans.HRef = "ProcessingPipelineSummary.aspx?Ads=" + sFileIDs_Encode + "&LoanStatus=Archived";
                    }
                    else
                    {
                        this.aPipeline_ArchivedLoans.HRef = "javascript:alert('There is no archived loan by criteria.')";
                    }

                    #endregion

                    this.ArchivedLoanSqlDataSource.SelectParameters["Where"].DefaultValue = sWhere;
                    this.gridArchivedLoanList.DataBind();
                }

                #endregion
            }

            if (bSearchClients == true)
            {
                LoadClientData();
            }

            if (bSearchPartners == true)
            {
                LoadPartnerData();
            }
        }
    }
예제 #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // FromPage
        if (this.Request.QueryString["FromPage"] == null)
        {
            PageCommon.WriteJsEnd(this, "Missing required query string.", "window.location.href='../Pipeline/ProspectPipelineSummaryLoan.aspx'");
        }
        string sFromPage        = this.Request.QueryString["FromPage"].ToString();
        string sFromPage_Decode = Encrypter.Base64Decode(sFromPage);

        // FileID
        bool bIsValid = PageCommon.ValidateQueryString(this, "FileID", QueryStringType.ID);

        if (bIsValid == false)
        {
            PageCommon.WriteJsEnd(this, "Missing required query string.", "window.location.href='" + sFromPage_Decode + "'");
        }
        string sFileID = this.Request.QueryString["FileID"].ToString();

        #region get contact ids by loan id

        string    sSql        = "select * from LoanContacts where FileId=" + sFileID + " and (ContactRoleId=dbo.lpfn_GetBorrowerRoleId() or ContactRoleId=dbo.lpfn_GetCoBorrowerRoleId())";
        DataTable ContactList = null;
        try
        {
            ContactList = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql);
        }
        catch
        {
            PageCommon.WriteJsEnd(this, "Failed to get the client record for the lead.", "window.location.href='" + sFromPage_Decode + "'");
        }

        if (ContactList.Rows.Count == 0)
        {
            PageCommon.WriteJsEnd(this, "Cannot find the client record for the current lead.", "window.location.href='" + sFromPage_Decode + "'");
        }

        #endregion

        #region build url

        string        sFirstContactID = string.Empty;
        StringBuilder sbContactIDs    = new StringBuilder();
        foreach (DataRow ContactRow in ContactList.Rows)
        {
            string sContactID = ContactRow["ContactID"].ToString();
            if (sbContactIDs.Length == 0)
            {
                sbContactIDs.Append(sContactID);
                sFirstContactID = sContactID;
            }
            else
            {
                sbContactIDs.Append("," + sContactID);
            }
        }

        #endregion

        string c  = "ContactID=" + sFirstContactID + "&ContactIDs=" + sbContactIDs.ToString();
        string en = Encrypter.Base64Encode(c);

        this.Response.Redirect("ProspectDetailView.aspx?PageFrom=&e=" + en);
    }