uniblab icon

acctdropdown_SelectedIndexChanged

uniblab | PRO | 09/20/19 07:12:35 PM UTC | 0 ⭐ | 1414 👁️ | Never ⏰ | []
C# |

40.87 KB

|

None

|

0 👍

/

0 👎

protected void acctdropdown_SelectedIndexChanged() {
    if ( acctdropdown.SelectedValue != "" ) {
        string authenticatednetid = HttpContext.Current.User.Identity.Name;
        CurrentPerson = JS_Person.LoadUsingNetid( authenticatednetid );
        HtmlGenericControl apptitle = (HtmlGenericControl)Page.FindControl( "apptitle" );
        //if (apptitle == null)
        //Page.FindControl("main-menu").Visible = false;
        Panel appcontent = (Panel)Page.FindControl( "appcontent" );
        appcontent.Style.Value = "margin:0";
        var accounthaspreviousnote = Budget_Web_Form_Final_vw.getdc.Budget_Web_Form_Final_vws.Where( b => b.Account == acctdropdown.SelectedValue & b.User == loggedinuser.Netid & b.Prev_Yr_Note != "" ).OrderBy( b => b.SO ).ThenBy( b => b.Sub_Account ).ThenBy( b => b.Object_Code ).ToList();
        HtmlGenericControl headerscriptcontrol = new HtmlGenericControl( "div" );
        //fixedCols: 7,
        if ( accounthaspreviousnote.Count() != 0 )
            headerscriptcontrol.InnerHtml = @"<script type=""text/javascript"">$('table.freezeheader').fxdHdrCol({
width:     '100%',
height:    600,
colModal: [
{ width: 120, align: 'center' },
{ width: 150, align: 'center' },
{ width: 75, align: 'center' },
{ width: 70, align: 'center' },
{ width: 245, align: 'center' },
{ width: 245, align: 'center' },
{ width: 90, align: 'center' },
{ width: 90, align: 'center' },
{ width: 90, align: 'center' },
{ width: 90, align: 'center' },
{ width: 200, align: 'center' },
{ width: 200, align: 'center' },
{ width: 90, align: 'center' },
{ width: 90, align: 'center' },
{ width: 50, align: 'center' }
]
})
                        </script>";
        else
            //fixedCols: 7,
            headerscriptcontrol.InnerHtml = @"<script type=""text/javascript"">$('table.freezeheader').fxdHdrCol({
width:     '100%',
height:    600,
colModal: [
{ width: 120, align: 'center' },
{ width: 150, align: 'center' },
{ width: 75, align: 'center' },
{ width: 70, align: 'center' },
{ width: 245, align: 'center' },
{ width: 245, align: 'center' },
{ width: 90, align: 'center' },
{ width: 90, align: 'center' },
{ width: 90, align: 'center' },
{ width: 90, align: 'center' },
{ width: 200, align: 'center' },
{ width: 90, align: 'center' },
{ width: 90, align: 'center' },
{ width: 50, align: 'center' }
]
})
                        </script>";
 
        headerscript.Controls.Add( headerscriptcontrol );
        var accountdata = Budget_Web_Form_Final_vw.getdc.Budget_Web_Form_Final_vws.Where( b => b.Account == acctdropdown.SelectedValue & b.User == loggedinuser.Netid ).OrderBy( b => b.SO ).ThenBy( b => b.Sub_Account ).ThenBy( b => b.Object_Code ).ToList();
        if ( accountdata.Count != 0 ) {
            // put account date in header above main table
            TableRow headerrow = new TableRow();
            TableCell headercell = new TableCell();
            headercell.HorizontalAlign = HorizontalAlign.Right;
            headercell.Text = "Org:";
            headerrow.Cells.Add( headercell );
            headercell = new TableCell();
            headercell = new TableCell();
            headercell.Text = accountdata[ 0 ].Org;
            headerrow.Cells.Add( headercell );
            BudgetHeaderTable.Rows.Add( headerrow );
 
            headercell = new TableCell();
            headerrow = new TableRow();
            headercell = new TableCell();
            headercell.HorizontalAlign = HorizontalAlign.Right;
            headercell.Text = "Org Desc:";
            headerrow.Cells.Add( headercell );
            headercell = new TableCell();
            headercell.Text = accountdata[ 0 ].Org_Desc;
            headerrow.Cells.Add( headercell );
            BudgetHeaderTable.Rows.Add( headerrow );
 
            headerrow = new TableRow();
            headercell = new TableCell();
            headercell.HorizontalAlign = HorizontalAlign.Right;
            headercell.Text = "Account:";
            headerrow.Cells.Add( headercell );
            headercell = new TableCell();
            headercell.Text = accountdata[ 0 ].Account;
            headerrow.Cells.Add( headercell );
            BudgetHeaderTable.Rows.Add( headerrow );
 
            headerrow = new TableRow();
            headercell = new TableCell();
            headercell.HorizontalAlign = HorizontalAlign.Right;
            headercell.Text = "Account Name:";
            headerrow.Cells.Add( headercell );
            headercell = new TableCell();
            headercell.Text = accountdata[ 0 ].Account_Name;
            headerrow.Cells.Add( headercell );
            BudgetHeaderTable.Rows.Add( headerrow );
            TableRow objrow = new TableRow();
            objrow.TableSection = TableRowSection.TableHeader;
            objrow.CssClass = "budgettableheader";
 
            TableHeaderCell objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = "Category Name";
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = "C.O.";
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = "Sub Account";
 
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = "Object Code";
 
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = "Object Name";
 
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = "Sub Object";
 
            objrow.Cells.Add( objdataheadercell );
 
            //objdataheadercell = new TableHeaderCell();
            //objdataheadercell.Text = "FY16 Current Forecast";
 
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = System.String.Format( "{0} Actuals", SearchPage.PreviousYear );
 
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = System.String.Format( "{0} YTD", SearchPage.CurrentYear );
 
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = System.String.Format( "{0} Full Year Budget", SearchPage.CurrentYear );
 
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = System.String.Format( "{0} Full Year Forecast", SearchPage.CurrentYear );
 
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = System.String.Format( "{0} Forecast Note", SearchPage.CurrentYear );
 
            objrow.Cells.Add( objdataheadercell );
 
            if ( accounthaspreviousnote.Count() != 0 ) {
                objdataheadercell = new TableHeaderCell();
                objdataheadercell.Text = System.String.Format( "{0} Budget Note", SearchPage.CurrentYear );
                objrow.Cells.Add( objdataheadercell );
            }
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = System.String.Format( "{0} Forecast - {1} Budget", SearchPage.CurrentYear, SearchPage.CurrentYear );
            objrow.Cells.Add( objdataheadercell );
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = System.String.Format( "{0} Forecast - {1} Actuals", SearchPage.CurrentYear, SearchPage.PreviousYear );
            objrow.Cells.Add(objdataheadercell);
 
            objdataheadercell = new TableHeaderCell();
            objdataheadercell.Text = "";
 
            objrow.Cells.Add( objdataheadercell );
 
            BudgetTable.Rows.Add( objrow );
 
            string lastcat = "";
            string lastcatfullname = "";
            string lastCO = "";
            decimal? BQ1 = 0;
            decimal? BQ2 = 0;
            decimal? BQ3 = 0;
            decimal? BQ4 = 0;
            decimal? ObjectCurrentForecast = 0;
            decimal? ObjectBudgetVariance = 0;
            decimal? ObjectForecastMinusActual = 0;
            decimal? BQ1_all = 0;
            decimal? BQ2_all = 0;
            decimal? BQ3_all = 0;
            decimal? BQ4_all = 0;
            decimal? ObjectBudgetVariance_all = 0;
            decimal? ObjectForecastMinusActual_all = 0;
            decimal? ObjectCurrentForecast_all = 0;
            //UpdatePanel BQ1totalupdatepanel = new UpdatePanel();
            //UpdatePanel BQ2totalupdatepanel = new UpdatePanel();
            //UpdatePanel BQ3totalupdatepanel = new UpdatePanel();
            UpdatePanel BQ4totalupdatepanel = new UpdatePanel();
            UpdatePanel FYBudgettotalupdatepanel = new UpdatePanel();
            UpdatePanel BudgetVariancetotalupdatepanel = new UpdatePanel();
            UpdatePanel ForecastMinusActualtotalupdatepanel = new UpdatePanel();
            TableCell objdatacell = new TableCell();
            foreach ( var accline in accountdata ) {
                string CategoryNameNoSpace = accline.Category_Name.Replace( " ", "" );
                objrow = new TableRow();
                objrow.TableSection = TableRowSection.TableBody;
                objrow.Height = 70;
                objrow.ID = "ObjectRow_" + accline.RecID;
                objdatacell = new TableCell();
                //AsyncPostBackTrigger BQ1trigger = new AsyncPostBackTrigger();
                //BQ1trigger.ControlID = "BQ1_" + accline.RecID + "_" + CategoryNameNoSpace;
                //BQ1trigger.EventName = "TextChanged";
                //BQ1totalupdatepanel.Triggers.Add(BQ1trigger);
                //AsyncPostBackTrigger BQ2trigger = new AsyncPostBackTrigger();
                //BQ2trigger.ControlID = "BQ2_" + accline.RecID + "_" + CategoryNameNoSpace;
                //BQ2trigger.EventName = "TextChanged";
                //BQ2totalupdatepanel.Triggers.Add(BQ2trigger);
                //AsyncPostBackTrigger BQ3trigger = new AsyncPostBackTrigger();
                //BQ3trigger.ControlID = "BQ3_" + accline.RecID + "_" + CategoryNameNoSpace;
                //BQ3trigger.EventName = "TextChanged";
                //BQ3totalupdatepanel.Triggers.Add(BQ3trigger);
                AsyncPostBackTrigger BQ4trigger = new AsyncPostBackTrigger();
                BQ4trigger.ControlID = "BQ4_" + accline.RecID + "_" + CategoryNameNoSpace;
                BQ4trigger.EventName = "TextChanged";
                BQ4totalupdatepanel.Triggers.Add( BQ4trigger );
                if ( CategoryNameNoSpace != lastcat ) {
                    if ( lastcat != "" ) {
                        //BQ1totalupdatepanel.ID = lastcat + "_BQ1";
                        //BQ1totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                        //BQ2totalupdatepanel.ID = lastcat + "_BQ2";
                        //BQ2totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                        //BQ3totalupdatepanel.ID = lastcat + "_BQ3";
                        //BQ3totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                        BQ4totalupdatepanel.ID = lastcat + "_BQ4";
                        BQ4totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                        FYBudgettotalupdatepanel.ID = lastcat + "_FYBudget";
                        FYBudgettotalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                        BudgetVariancetotalupdatepanel.ID = lastcat + "_BudgetVariance";
                        BudgetVariancetotalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                        ForecastMinusActualtotalupdatepanel.ID = lastcat + "_ForecastMinusActual";
                        ForecastMinusActualtotalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                        TableRow totalrow = new TableRow();
                        totalrow.TableSection = TableRowSection.TableBody;
                        totalrow.ID = "Category_total_TR_" + lastcat;
                        totalrow.CssClass = "budgetcategorytotal";
 
                        TableCell totalcell = new TableCell();
                        totalcell.Text = lastcatfullname + " Total";
                        totalcell.CssClass = "categorytotalcelllabel";
                        totalrow.Cells.Add( totalcell );
 
                        totalcell = new TableCell();
                        totalrow.Cells.Add( totalcell );
                        totalcell = new TableCell();
                        totalrow.Cells.Add( totalcell );
                        totalcell = new TableCell();
                        totalrow.Cells.Add( totalcell );
                        totalcell = new TableCell();
                        totalrow.Cells.Add( totalcell );
                        totalcell = new TableCell();
                        totalrow.Cells.Add( totalcell );
 
                        //totalcell = new TableCell();
                        //totalcell.ID = "Category_total_" + lastcat + "_CurrentForecast";
                        //HtmlGenericControl dummmydiv = new HtmlGenericControl("div");
                        //totalcontent.InnerHtml = string.Format("{0:C0}", ObjectCurrentForecast);
                        //dummmydiv.Controls.Add(totalcontent);
                        //totalcell.Controls.Add(dummmydiv);
                        //totalrow.Cells.Add(totalcell);
 
                        totalcell = new TableCell();
                        totalcell.ID = "Category_total_" + lastcat + "_BQ1";
                        //totalcell.Text = BQ1.ToString();
                        HtmlGenericControl totalcontent = new HtmlGenericControl( "div" );
                        totalcontent = new HtmlGenericControl( "div" );
                        totalcontent.ID = "Category_total_" + lastcat + "_BQ1_content";
                        totalcontent.InnerHtml = string.Format( "{0:C0}", BQ1 );
                        //BQ1totalupdatepanel.ContentTemplateContainer.Controls.Add(totalcontent);
                        totalcell.Controls.Add( totalcontent );
                        totalrow.Cells.Add( totalcell );
                        //BQ1totalupdatepanel = new UpdatePanel();
                        //BQ1totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
 
                        totalcell = new TableCell();
                        totalcell.ID = "Category_total_" + lastcat + "_BQ2";
                        //totalcell.Text = BQ2.ToString();
                        totalcontent = new HtmlGenericControl( "div" );
                        totalcontent.ID = "Category_total_" + lastcat + "_BQ2_content";
                        totalcontent.InnerHtml = string.Format( "{0:C0}", BQ2 );
                        //BQ2totalupdatepanel.ContentTemplateContainer.Controls.Add(totalcontent);
                        totalcell.Controls.Add( totalcontent );
                        totalrow.Cells.Add( totalcell );
                        //BQ2totalupdatepanel = new UpdatePanel();
                        //BQ2totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
 
                        totalcell = new TableCell();
                        totalcell.ID = "Category_total_" + lastcat + "_BQ3";
                        //totalcell.Text = BQ3.ToString();
                        totalcontent = new HtmlGenericControl( "div" );
                        totalcontent.ID = "Category_total_" + lastcat + "_BQ3_content";
                        totalcontent.InnerHtml = string.Format( "{0:C0}", BQ3 );
                        //BQ3totalupdatepanel.ContentTemplateContainer.Controls.Add(totalcontent);
                        totalcell.Controls.Add( totalcontent );
                        totalrow.Cells.Add( totalcell );
                        // BQ3totalupdatepanel = new UpdatePanel();
                        //BQ3totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
 
                        totalcell = new TableCell();
                        totalcell.ID = "Category_total_" + lastcat + "_BQ4";
                        //totalcell.Text = BQ4.ToString();
                        totalcontent = new HtmlGenericControl( "div" );
                        totalcontent.ID = "Category_total_" + lastcat + "_BQ4_content";
                        totalcontent.InnerHtml = string.Format( "{0:C0}", BQ4 );
                        BQ4totalupdatepanel.ContentTemplateContainer.Controls.Add( totalcontent );
                        totalcell.Controls.Add( BQ4totalupdatepanel );
                        totalrow.Cells.Add( totalcell );
                        BQ4totalupdatepanel = new UpdatePanel();
                        BQ4totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
 
                        totalcell = new TableCell();
                        totalrow.Cells.Add( totalcell );
 
                        if ( accounthaspreviousnote.Count() != 0 ) {
                            totalcell = new TableCell();
                            totalrow.Cells.Add( totalcell );
                        }
 
                        totalcell = new TableCell();
                        totalcell.ID = "Category_total_" + lastcat + "_BudgetVariance";
                        totalcontent = new HtmlGenericControl( "div" );
                        totalcontent.ID = "Category_total_" + lastcat + "_BudgetVariance_content";
                        totalcontent.InnerHtml = string.Format( "{0:C0}", ObjectBudgetVariance );
                        BudgetVariancetotalupdatepanel.ContentTemplateContainer.Controls.Add( totalcontent );
                        totalcell.Controls.Add( BudgetVariancetotalupdatepanel );
                        totalrow.Cells.Add( totalcell );
                        BudgetVariancetotalupdatepanel = new UpdatePanel();
                        BudgetVariancetotalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
 
                        totalcell = new TableCell();
                        totalcell.ID = "Category_total_" + lastcat + "_ForecastMinusActual";
                        totalcontent = new HtmlGenericControl( "div" );
                        totalcontent.ID = "Category_total_" + lastcat + "_ForecastMinusActual_content";
                        totalcontent.InnerHtml = string.Format( "{0:C0}", ObjectForecastMinusActual );
                        ForecastMinusActualtotalupdatepanel.ContentTemplateContainer.Controls.Add( totalcontent );
                        totalcell.Controls.Add( ForecastMinusActualtotalupdatepanel );
                        totalrow.Cells.Add( totalcell );
                        ForecastMinusActualtotalupdatepanel = new UpdatePanel();
                        ForecastMinusActualtotalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
 
                        totalcell = new TableCell();
                        totalrow.Cells.Add( totalcell );
 
                        BudgetTable.Rows.Add( totalrow );
                        BQ1 = 0;
                        BQ2 = 0;
                        BQ3 = 0;
                        BQ4 = 0;
                        ObjectBudgetVariance = 0;
                        ObjectForecastMinusActual = 0;
                        ObjectCurrentForecast = 0;
                    }
                    objdatacell.Text = accline.Category_Name;
                    lastcat = CategoryNameNoSpace;
                    lastcatfullname = accline.Category_Name;
                } else {
                    objdatacell.Text = "";
                }
                objrow.Cells.Add( objdatacell );
                objdatacell = new TableCell();
                if ( lastCO != accline.Consolidation_Object )
                    objdatacell.Text = accline.Consolidation_Object;
                else
                    objdatacell.Text = "";
                objrow.Cells.Add( objdatacell );
 
                objdatacell = new TableCell();
                objdatacell.ID = "subacct_" + accline.RecID;
                UpdatePanel textboxupdatepanel = new UpdatePanel();
                textboxupdatepanel.ID = accline.RecID + "_subacct";
                textboxupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                DropDownList subacctInput = new DropDownList();
 
                string qry = @"SELECT DISTINCT ACCT_NBR, SUB_ACCT_NBR, SUB_ACCT_NAME 
                                    FROM  KFS_COA
                                    WHERE (ACCT_CLOSED_FLG = 'N') AND (ACCT_NBR = '" + accline.Account + "')" +
                                    " AND (len([SUB_ACCT_CLOSED_FLG]) = 0 or [SUB_ACCT_CLOSED_FLG] = 'N')" +
                                " ORDER BY ACCT_NBR, SUB_ACCT_NBR";
                var KfsConnectionString = ConfigurationManager.ConnectionStrings[ "Kfs" ].ConnectionString;
                using ( var sqlConnection = new SqlConnection( KfsConnectionString ) ) {
                    sqlConnection.Open();
                    using ( var sqlCommand = new SqlCommand( qry, sqlConnection ) ) {
                        using ( var dr = sqlCommand.ExecuteReader() ) {
                            if ( dr.HasRows ) {
                                ListItem subacctdropdownitem = new ListItem();
                                //subacctdropdownitem.Text = "";
                                //subacctdropdownitem.Value = "";
                                //subacctInput.Items.Add(subacctdropdownitem);
                                while ( dr.Read() ) {
                                    subacctdropdownitem = new ListItem();
                                    subacctdropdownitem.Text = StringTools.NonNullValue( dr[ "SUB_ACCT_NBR" ].ToString () );
                                    subacctdropdownitem.Value = StringTools.NonNullValue( dr[ "SUB_ACCT_NBR" ].ToString() );
                                    subacctInput.Items.Add( subacctdropdownitem );
                                }
                            }
                        }
                    }
                }
 
                if ( subacctInput.Items.FindByValue( accline.Sub_Account ) == null )
                    subacctInput.Items.Add( accline.Sub_Account );
                subacctInput.SelectedValue = accline.Sub_Account;
                if ( StringTools.NonNullValue( accline.ReadOnly ) == "Y" ) {
                    //if (!CurrentPerson.IsInRole("Department - Financial Services"))
                    subacctInput.Enabled = false;
                }
                subacctInput.ID = "subacct_" + accline.RecID + "_" + CategoryNameNoSpace;
                subacctInput.Attributes.Add( "onfocus", "setinitalval(this)" );
                subacctInput.Attributes.Add( "onchange", "highlightifchanged(this)" );
                //subacctInput.Attributes.Add("onkeyup", "highlightifchanged(this)");
                //subacctInput.Attributes.Add("onmouseup", "highlightifchanged(this)");
                subacctInput.AutoPostBack = true;
                subacctInput.SelectedIndexChanged += DDL_TextChanged;
                ScriptManager.GetCurrent( Page ).RegisterAsyncPostBackControl( subacctInput );
                textboxupdatepanel.ContentTemplateContainer.Controls.Add( subacctInput );
                objdatacell.Controls.Add( textboxupdatepanel );
                objrow.Cells.Add( objdatacell );
 
                objdatacell = new TableCell();
                objdatacell.Text = accline.Object_Code;
                objdatacell.ID = "objectcode_" + accline.RecID;
                objrow.Cells.Add( objdatacell );
 
                objdatacell = new TableCell();
                objdatacell.Text = accline.Object_Name;
                objrow.Cells.Add( objdatacell );
 
                objdatacell = new TableCell();
                objdatacell.ID = "subobject_" + accline.RecID;
                textboxupdatepanel = new UpdatePanel();
                textboxupdatepanel.ID = accline.RecID + "_subobject";
                textboxupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                DropDownList subobjectInput = new DropDownList();
 
                qry = @"SELECT DISTINCT OBJ_CD, SUB_OBJ_CD, SUB_OBJ_CD_SHORT_NAME
                            FROM BudgetFom_Object_tbl
                            WHERE (OBJ_CD = '" + accline.Object_Code + "')" +
                                " ORDER BY OBJ_CD, SUB_OBJ_CD";
 
                using ( var sqlConnection = new SqlConnection( KfsConnectionString ) ) {
                    sqlConnection.Open();
                    using ( var sqlCommand = new SqlCommand( qry, sqlConnection ) ) {
                        using ( var dr = sqlCommand.ExecuteReader() ) {
                            if ( dr.HasRows ) {
                                ListItem subobjectdropdownitem = new ListItem();
                                //subacctdropdownitem.Text = "";
                                //subacctdropdownitem.Value = "";
                                //subacctInput.Items.Add(subacctdropdownitem);
                                while ( dr.Read() ) {
                                    subobjectdropdownitem = new ListItem();
                                    subobjectdropdownitem.Text = StringTools.NonNullValue( (string)dr[ "SUB_OBJ_CD" ].ToString() ) + "-" + StringTools.NonNullValue( (string)dr[ "SUB_OBJ_CD_SHORT_NAME" ].ToString() );
                                    subobjectdropdownitem.Value = StringTools.NonNullValue( (string)dr[ "SUB_OBJ_CD" ].ToString() );
                                    subobjectInput.Items.Add( subobjectdropdownitem );
                                }
                            }
                        }
                    }
                }
 
                if ( subobjectInput.Items.FindByValue( accline.Sub_Object ) == null )
                    subobjectInput.Items.Add( accline.Sub_Object );
                subobjectInput.SelectedValue = accline.Sub_Object;
                if ( StringTools.NonNullValue( accline.ReadOnly ) == "Y" ) {
                    //if (!CurrentPerson.IsInRole("Department - Financial Services"))
                    subobjectInput.Enabled = false;
                }
                subobjectInput.ID = "subobject_" + accline.RecID + "_" + CategoryNameNoSpace;
                subobjectInput.Attributes.Add( "onfocus", "setinitalval(this)" );
                subobjectInput.Attributes.Add( "onkeyup", "highlightifchanged(this)" );
                subobjectInput.Attributes.Add( "onmouseup", "highlightifchanged(this)" );
                subobjectInput.AutoPostBack = true;
                subobjectInput.SelectedIndexChanged += DDL_TextChanged;
                ScriptManager.GetCurrent( Page ).RegisterAsyncPostBackControl( subobjectInput );
                textboxupdatepanel.ContentTemplateContainer.Controls.Add( subobjectInput );
                objdatacell.Controls.Add( textboxupdatepanel );
                objrow.Cells.Add( objdatacell );
 
                //objdatacell = new TableCell();
                //HtmlGenericControl forecastcontent = new HtmlGenericControl("div");
                //HtmlGenericControl forecastdummmydiv = new HtmlGenericControl("div");
 
                //objdatacell.ID = "ObjectCurrentForecastCell_" + accline.RecID;
                //forecastcontent.InnerHtml = string.Format("{0:F0}", accline.Current_Budget);
                //forecastdummmydiv.Controls.Add(forecastcontent);
                //objdatacell.Controls.Add(forecastdummmydiv);
                //if (accline.Current_Budget != null)
                //{
                //    ObjectCurrentForecast = ObjectCurrentForecast + accline.Current_Budget;
                //    if (CategoryNameNoSpace == "Expense")
                //        ObjectCurrentForecast_all = ObjectCurrentForecast_all - accline.Current_Budget;
                //    else
                //        ObjectCurrentForecast_all = ObjectCurrentForecast_all + accline.Current_Budget;
                //}
                //objrow.Cells.Add(objdatacell);
 
                objdatacell = new TableCell();
                HtmlGenericControl actualscontent = new HtmlGenericControl( "div" );
                HtmlGenericControl actualsdummmydiv = new HtmlGenericControl( "div" );
 
                actualscontent.InnerHtml = string.Format( "{0:F0}", accline.PY_Actual );
                actualsdummmydiv.Controls.Add( actualscontent );
                objdatacell.Controls.Add( actualsdummmydiv );
                objdatacell.ID = "BQ1_" + accline.RecID;
                if ( accline.PY_Actual != null ) {
                    BQ1 = BQ1 + accline.PY_Actual;
                    if ( CategoryNameNoSpace == "Expense" )
                        BQ1_all = BQ1_all - accline.PY_Actual;
                    else
                        BQ1_all = BQ1_all + accline.PY_Actual;
                }
                objrow.Cells.Add( objdatacell );
 
                objdatacell = new TableCell();
 
                HtmlGenericControl budgetcontent = new HtmlGenericControl( "div" );
                HtmlGenericControl budgetdummmydiv = new HtmlGenericControl( "div" );
 
                budgetcontent.InnerHtml = string.Format( "{0:F0}", accline.Actual );
                budgetdummmydiv.Controls.Add( budgetcontent );
                objdatacell.Controls.Add( budgetdummmydiv );
                objdatacell.ID = "BQ2_" + accline.RecID;
                if ( accline.Actual != null ) {
                    BQ2 = BQ2 + accline.Actual;
                    if ( CategoryNameNoSpace == "Expense" )
                        BQ2_all = BQ2_all - accline.Actual;
                    else
                        BQ2_all = BQ2_all + accline.Actual;
                }
                objrow.Cells.Add( objdatacell );
 
                objdatacell = new TableCell();
 
                HtmlGenericControl ytdcontent = new HtmlGenericControl( "div" );
                HtmlGenericControl ytddummmydiv = new HtmlGenericControl( "div" );
 
                ytdcontent.InnerHtml = string.Format( "{0:F0}", accline.Current_Budget );
                ytddummmydiv.Controls.Add( ytdcontent );
                objdatacell.Controls.Add( ytddummmydiv );
                objdatacell.ID = "BQ3_" + accline.RecID;
                if ( accline.Current_Budget != null ) {
                    BQ3 = BQ3 + accline.Current_Budget;
                    if ( CategoryNameNoSpace == "Expense" )
                        BQ3_all = BQ3_all - accline.Current_Budget;
                    else
                        BQ3_all = BQ3_all + accline.Current_Budget;
                }
                objrow.Cells.Add( objdatacell );
 
                objdatacell = new TableCell();
 
                objdatacell.ID = "BQ4_" + accline.RecID;
                textboxupdatepanel = new UpdatePanel();
                textboxupdatepanel.ID = accline.RecID + "_BQ4";
                textboxupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                TextBox BQ4Input = new TextBox();
                BQ4Input.Columns = 8;
                BQ4Input.Text = string.Format( "{0:F0}", accline.Forecast );
                BQ4Input.ID = "BQ4_" + accline.RecID + "_" + CategoryNameNoSpace;
                BQ4Input.Attributes.Add( "onfocus", "setinitalval(this)" );
                BQ4Input.Attributes.Add( "onkeyup", "highlightifchanged(this)" );
                BQ4Input.Attributes.Add( "onchange", "if(!checkfordecimal(this)){return false;}" );
                BQ4Input.Attributes.Add( "onblur", "if(!checkfordecimalmsg(this,event)){return false;}" );
                BQ4Input.AutoPostBack = true;
                if ( StringTools.NonNullValue( accline.ReadOnly ) == "Y" ) {
                    //if (!CurrentPerson.IsInRole("Department - Financial Services"))
                    BQ4Input.Enabled = false;
                }
                BQ4Input.TextChanged += TextBox2_TextChanged;
                ScriptManager.GetCurrent( Page ).RegisterAsyncPostBackControl( BQ4Input );
                textboxupdatepanel.ContentTemplateContainer.Controls.Add( BQ4Input );
                objdatacell.Controls.Add( textboxupdatepanel );
                if ( accline.Budget != null ) {
                    BQ4 = BQ4 + accline.Budget;
                    if ( CategoryNameNoSpace == "Expense" )
                        BQ4_all = BQ4_all - accline.Budget;
                    else
                        BQ4_all = BQ4_all + accline.Budget;
                }
                objrow.Cells.Add( objdatacell );
 
                objdatacell = new TableCell();
                objdatacell.ID = "note_" + accline.RecID;
                textboxupdatepanel = new UpdatePanel();
                textboxupdatepanel.ID = accline.RecID + "_note";
                textboxupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                TextBox noteInput = new TextBox();
                noteInput.TextMode = TextBoxMode.MultiLine;
                noteInput.Rows = 2;
                noteInput.Text = accline.Note;
                noteInput.ID = "note_" + accline.RecID + "_" + CategoryNameNoSpace;
                noteInput.Attributes.Add( "onfocus", "setinitalval(this)" );
                noteInput.Attributes.Add( "onkeyup", "highlightifchanged(this)" );
                noteInput.AutoPostBack = true;
                noteInput.TextChanged += TextBox2_TextChanged;
                ScriptManager.GetCurrent( Page ).RegisterAsyncPostBackControl( noteInput );
                textboxupdatepanel.ContentTemplateContainer.Controls.Add( noteInput );
                objdatacell.Controls.Add( textboxupdatepanel );
                objrow.Cells.Add( objdatacell );
 
                if ( accounthaspreviousnote.Count() != 0 ) {
                    objdatacell = new TableCell();
                    HtmlGenericControl prev_yr_div = new HtmlGenericControl( "div" );
                    prev_yr_div.InnerHtml = accline.Prev_Yr_Note;
                    prev_yr_div.Style.Add( "max-width", "200px" );
                    objdatacell.Controls.Add( prev_yr_div );
                    objrow.Cells.Add( objdatacell );
                }
 
                objdatacell = new TableCell();
 
                objdatacell.ID = "ObjectBudgetVarianceCell_" + accline.RecID;
                textboxupdatepanel = new UpdatePanel();
                textboxupdatepanel.ID = accline.RecID + "_BudgetVariance";
                textboxupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                HtmlGenericControl BudgetVariance = new HtmlGenericControl( "div" );
                BudgetVariance.InnerHtml = string.Format( "{0:F0}", accline.Forecast - accline.Current_Budget );
                BudgetVariance.ID = "BudgetVariance_" + accline.RecID + "_" + CategoryNameNoSpace;
                textboxupdatepanel.ContentTemplateContainer.Controls.Add( BudgetVariance );
                objdatacell.Controls.Add( textboxupdatepanel );
                //if (accline.CB_Budget_Variance != null)
                //{
                ObjectBudgetVariance = ObjectBudgetVariance + accline.Budget - accline.Current_Budget;
                ObjectBudgetVariance_all = ObjectBudgetVariance_all + accline.Budget - accline.Current_Budget;
                //}
                objrow.Cells.Add( objdatacell );
 
                objdatacell = new TableCell();
 
                objdatacell.ID = "ObjectForecastMinusActualCell_" + accline.RecID;
                textboxupdatepanel = new UpdatePanel();
                textboxupdatepanel.ID = accline.RecID + "_ForecastMinusActual";
                textboxupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                HtmlGenericControl ForecastMinusActual = new HtmlGenericControl( "div" );
                ForecastMinusActual.InnerHtml = string.Format( "{0:F0}", accline.Forecast - accline.PY_Actual );
                ForecastMinusActual.ID = "ForecastMinusActual_" + accline.RecID + "_" + CategoryNameNoSpace;
                textboxupdatepanel.ContentTemplateContainer.Controls.Add( ForecastMinusActual );
                objdatacell.Controls.Add( textboxupdatepanel );
                //if (accline.CB_Budget_Variance != null)
                //{
                ObjectForecastMinusActual = ObjectForecastMinusActual + accline.Forecast - accline.PY_Actual;
                ObjectForecastMinusActual_all = ObjectForecastMinusActual_all + accline.Budget - accline.PY_Actual;
                //}
                objrow.Cells.Add( objdatacell );
 
                objdatacell = new TableCell();
 
                LinkButton btnDeleteObjcode = new LinkButton();
                btnDeleteObjcode.Command += btnDeleteObjcode_Click;
                btnDeleteObjcode.CommandArgument = accline.RecID.ToString();
                btnDeleteObjcode.Text = "Delete";
                btnDeleteObjcode.OnClientClick = "if(!ConfirmDelete('" + accline.Object_Code + "','" + accline.Object_Name + "',event)){return false;}";
                objdatacell.Controls.Add( btnDeleteObjcode );
                objrow.Cells.Add( objdatacell );
 
                BudgetTable.Rows.Add( objrow );
            }
            if ( lastcat != "" )   // total for the last category name and account totals
            {
                // total for the last category name 
                TableRow totalrow = new TableRow();
                totalrow.TableSection = TableRowSection.TableBody;
                totalrow.ID = "Category_total_TR_" + lastcat;
                totalrow.CssClass = "budgetcategorytotal";
                TableCell totalcell = new TableCell();
                totalcell.Text = lastcatfullname + " Total";
                totalcell.CssClass = "categorytotalcelllabel";
                totalrow.Cells.Add( totalcell );
 
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
 
                //totalcell = new TableCell();
                //totalcell.ID = "Category_total_" + lastcat + "_CurrentForecast";
                //HtmlGenericControl dummmydiv = new HtmlGenericControl("div");
                //totalcontent.InnerHtml = string.Format("{0:C0}", ObjectCurrentForecast);
                //dummmydiv.Controls.Add(totalcontent);
                //totalcell.Controls.Add(dummmydiv);
                //totalrow.Cells.Add(totalcell);
 
                //BQ1totalupdatepanel.ID = lastcat + "_BQ1";
                //BQ1totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                HtmlGenericControl totalcontent = new HtmlGenericControl( "div" );
                totalcell = new TableCell();
                totalcell.ID = "Category_total_" + lastcat + "_BQ1";
                //totalcell.Text = BQ1.ToString();
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Category_total_" + lastcat + "_BQ1_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", BQ1 );
                //BQ1totalupdatepanel.ContentTemplateContainer.Controls.Add(totalcontent);
                totalcell.Controls.Add( totalcontent );
                totalrow.Cells.Add( totalcell );
 
                //BQ2totalupdatepanel.ID = lastcat + "_BQ2";
                //BQ2totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                totalcell = new TableCell();
                totalcell.ID = "Category_total_" + lastcat + "_BQ2";
                //totalcell.Text = BQ2.ToString();
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Category_total_" + lastcat + "_BQ2_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", BQ2 );
                //BQ2totalupdatepanel.ContentTemplateContainer.Controls.Add(totalcontent);
                totalcell.Controls.Add( totalcontent );
                totalrow.Cells.Add( totalcell );
 
                //BQ3totalupdatepanel.ID = lastcat + "_BQ3";
                //BQ3totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                totalcell = new TableCell();
                totalcell.ID = "Category_total_" + lastcat + "_BQ3";
                //totalcell.Text = BQ3.ToString();
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Category_total_" + lastcat + "_BQ3_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", BQ3 );
                //BQ3totalupdatepanel.ContentTemplateContainer.Controls.Add(totalcontent);
                totalcell.Controls.Add( totalcontent );
                totalrow.Cells.Add( totalcell );
 
                BQ4totalupdatepanel.ID = lastcat + "_BQ4";
                BQ4totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                totalcell = new TableCell();
                totalcell.ID = "Category_total_" + lastcat + "_BQ4";
                //totalcell.Text = BQ4.ToString();
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Category_total_" + lastcat + "_BQ4_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", BQ4 );
                BQ4totalupdatepanel.ContentTemplateContainer.Controls.Add( totalcontent );
                totalcell.Controls.Add( BQ4totalupdatepanel );
                totalrow.Cells.Add( totalcell );
 
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
 
                if ( accounthaspreviousnote.Count() != 0 ) {
                    totalcell = new TableCell();
                    totalrow.Cells.Add( totalcell );
                }
 
                BudgetVariancetotalupdatepanel.ID = lastcat + "_BudgetVariance";
                BudgetVariancetotalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                totalcell = new TableCell();
                totalcell.ID = "Category_total_" + lastcat + "_BudgetVariance";
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Category_total_" + lastcat + "_BudgetVariance_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", ObjectBudgetVariance );
                BudgetVariancetotalupdatepanel.ContentTemplateContainer.Controls.Add( totalcontent );
                totalcell.Controls.Add( BudgetVariancetotalupdatepanel );
                totalrow.Cells.Add( totalcell );
 
                ForecastMinusActualtotalupdatepanel.ID = lastcat + "_ForecastMinusActual";
                ForecastMinusActualtotalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                totalcell = new TableCell();
                totalcell.ID = "Category_total_" + lastcat + "_ForecastMinusActual";
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Category_total_" + lastcat + "_ForecastMinusActual_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", ObjectForecastMinusActual );
                ForecastMinusActualtotalupdatepanel.ContentTemplateContainer.Controls.Add( totalcontent );
                totalcell.Controls.Add( ForecastMinusActualtotalupdatepanel );
                totalrow.Cells.Add( totalcell );
 
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
 
                BudgetTable.Rows.Add( totalrow );
 
                // total for the account totals
                totalrow = new TableRow();
                totalrow.TableSection = TableRowSection.TableBody;
                totalrow.ID = "Account_total_TR";
                totalrow.CssClass = "budgetaccounttotal";
                totalcell = new TableCell();
                totalcell.Text = "Operating Margin";
                totalrow.Cells.Add( totalcell );
 
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
 
                //totalcell = new TableCell();
                //totalcell.ID = "Account_total_CurrentForecast";
                //dummmydiv = new HtmlGenericControl("div");
                //totalcontent.InnerHtml = string.Format("{0:C0}", ObjectCurrentForecast_all);
                //dummmydiv.Controls.Add(totalcontent);
                //totalcell.Controls.Add(dummmydiv);
                //totalrow.Cells.Add(totalcell);
 
                //BQ1totalupdatepanel = new UpdatePanel();
                //BQ1totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                //BQ1totalupdatepanel.ID = "Account_BQ1";
                totalcontent = new HtmlGenericControl( "div" );
                totalcell = new TableCell();
                totalcell.ID = "Account_total_BQ1";
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Account_total_BQ1_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", BQ1_all );
                //BQ1totalupdatepanel.ContentTemplateContainer.Controls.Add(totalcontent);
                totalcell.Controls.Add( totalcontent );
                totalrow.Cells.Add( totalcell );
 
                //BQ2totalupdatepanel = new UpdatePanel();
                //BQ2totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                //BQ2totalupdatepanel.ID = "Account_BQ2";
                totalcell = new TableCell();
                totalcell.ID = "Account_total_BQ2";
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Account_total_BQ2_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", BQ2_all );
                //BQ2totalupdatepanel.ContentTemplateContainer.Controls.Add(totalcontent);
                totalcell.Controls.Add( totalcontent );
                totalrow.Cells.Add( totalcell );
 
                //BQ3totalupdatepanel = new UpdatePanel();
                //BQ3totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                //BQ3totalupdatepanel.ID = "Account_BQ3";
                totalcell = new TableCell();
                totalcell.ID = "Account_total_BQ3";
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Account_total_BQ3_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", BQ3_all );
                //BQ3totalupdatepanel.ContentTemplateContainer.Controls.Add(totalcontent);
                totalcell.Controls.Add( totalcontent );
                totalrow.Cells.Add( totalcell );
 
                BQ4totalupdatepanel = new UpdatePanel();
                BQ4totalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                BQ4totalupdatepanel.ID = "Account_BQ4";
                totalcell = new TableCell();
                totalcell.ID = "Account_total_BQ4";
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Account_total_BQ4_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", BQ4_all );
                BQ4totalupdatepanel.ContentTemplateContainer.Controls.Add( totalcontent );
                totalcell.Controls.Add( BQ4totalupdatepanel );
                totalrow.Cells.Add( totalcell );
 
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
 
                if ( accounthaspreviousnote.Count() != 0 ) {
                    totalcell = new TableCell();
                    totalrow.Cells.Add( totalcell );
                }
 
                BudgetVariancetotalupdatepanel = new UpdatePanel();
                BudgetVariancetotalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                BudgetVariancetotalupdatepanel.ID = "Account_BudgetVariance";
                totalcell = new TableCell();
                totalcell.ID = "Account_total_BudgetVariance";
                totalcontent = new HtmlGenericControl( "div" );
                totalcontent.ID = "Account_total_BudgetVariance_content";
                totalcontent.InnerHtml = string.Format( "{0:C0}", ObjectBudgetVariance_all );
                BudgetVariancetotalupdatepanel.ContentTemplateContainer.Controls.Add( totalcontent );
                totalcell.Controls.Add( BudgetVariancetotalupdatepanel );
                totalrow.Cells.Add( totalcell );
 
                //ForecastMinusActualtotalupdatepanel = new UpdatePanel();
                //ForecastMinusActualtotalupdatepanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
                //ForecastMinusActualtotalupdatepanel.ID = "Account_ForecastMinusActual";
                //totalcell = new TableCell();
                //totalcell.ID = "Account_total_ForecastMinusActual";
                //totalcontent = new HtmlGenericControl( "div" );
                //totalcontent.ID = "Account_total_ForecastMinusActual_content";
                //totalcontent.InnerHtml = string.Format( "{0:C0}", ObjectForecastMinusActual_all );
                //ForecastMinusActualtotalupdatepanel.ContentTemplateContainer.Controls.Add( totalcontent );
                //totalcell.Controls.Add( ForecastMinusActualtotalupdatepanel );
                //totalrow.Cells.Add( totalcell );
 
                totalcell = new TableCell();
                totalrow.Cells.Add( totalcell );
 
                BudgetTable.Rows.Add( totalrow );
 
            }
        } else  //requested account not found; someone probably manually edited queryparam acct
            {
            accountheadercontainer.Visible = false;
            addobjectcodecontainer.Visible = false;
            btnFinish.Visible = false;
            BudgetTable.Visible = false;
            lblDebug.Text = "That's not a valid account for you.";
        }
    } else  //requested account not found; someone probably manually edited queryparam acct
        {
        accountheadercontainer.Visible = false;
        addobjectcodecontainer.Visible = false;
        btnFinish.Visible = false;
        BudgetTable.Visible = false;
        lblDebug.Text = "That's not a valid account for you.";
    }
 
    //lblDebug.Text += acctdropdown.SelectedValue + "sent";
}

Comments