protected void ddlworkorders_SelectedIndexChanged(object sender, EventArgs e)
    {
        whitfield_prod_reports _wr = new whitfield_prod_reports();
        DataSet dsNormal = new DataSet();
        DataSet dsBudget = new DataSet();

        DataSet dsCummTD = new DataSet();
        DataSet dsCummBudget = new DataSet();
        DataSet dsCummDaily = new DataSet();

        dsNormal = _wr.GetBudgetHoursForWO(ddlProject.SelectedItem.Value, ddlworkorders.SelectedItem.Value);
        dsBudget = _wr.GetHoursTDForWO(ddlProject.SelectedItem.Value,ddlworkorders.SelectedItem.Value);

         dsCummBudget = _wr.GetCummulativeBudgetHoursForWO(txtReportDate.Text.Trim());
         dsCummDaily  = _wr.GetCummulativeHoursForToday(txtReportDate.Text.Trim());
         dsCummTD = _wr.GetCummulativeHoursTDForWO(txtReportDate.Text.Trim());

        //Instantiate the labels
        //cumulative labels instantiation
            lblcumEngHours.Text = "0";
            lblcumFabHours.Text = "0";
            lblcumfinHours.Text = "0";
            lblcummiscHours.Text = "0";
            lblcumtotHours.Text = "0";
            lblcumEngTD.Text = "0";
            lblcumfabTD.Text = "0";
            lblcumfinTD.Text = "0";
            lblcummiscTD.Text = "0";
            lblcumtotTD.Text = "0";
            lblcumDailyEng.Text = "0";
            lblcumDailyfab.Text = "0";
            lblcumDailyfin.Text = "0";
            lblcumDailymisc.Text = "0";
            lblcumDailytot.Text = "0";
            lblcumdiffEng.Text = "0";
            lblcumdifffab.Text = "0";
            lblcumdifffin.Text = "0";
            lblcumdiffmisc.Text = "0";
            lblcumdifftot.Text = "0";

            //cummulative hours
            DataTable dtCummBudget = dsCummBudget.Tables[0];
            foreach (DataRow dRow in dtCummBudget.Rows)
            {
                lblcumEngHours.Text = dRow["eng_hours"] == DBNull.Value ? "0" : dRow["eng_hours"].ToString();
                lblcumFabHours.Text = dRow["fab_hours"] == DBNull.Value ? "0" : dRow["fab_hours"].ToString();
                lblcumfinHours.Text = dRow["fin_hours"] == DBNull.Value ? "0" : dRow["fin_hours"].ToString();
                lblcummiscHours.Text = dRow["misc_hours"] == DBNull.Value ? "0" : dRow["misc_hours"].ToString();
                lblcumtotHours.Text = dRow["TotHours"] == DBNull.Value ? "0" : dRow["TotHours"].ToString();
            }
            //dumulative Daily Hours
            DataTable dtCummDaily = dsCummDaily.Tables[0];
            foreach (DataRow dRow1 in dtCummDaily.Rows)
            {
                lblcumDailyEng.Text = dRow1["eng_hours"] == DBNull.Value ? "0" : dRow1["eng_hours"].ToString();
                lblcumDailyfab.Text = dRow1["fab_hours"] == DBNull.Value ? "0" : dRow1["fab_hours"].ToString();
                lblcumDailyfin.Text = dRow1["fin_hours"] == DBNull.Value ? "0" : dRow1["fin_hours"].ToString();
                lblcumDailymisc.Text = dRow1["misc_hours"] == DBNull.Value ? "0" : dRow1["misc_hours"].ToString();
                lblcumDailytot.Text = dRow1["TotHours"] == DBNull.Value ? "0" : dRow1["TotHours"].ToString();
            }
            //dumulative Daily Hours
            DataTable dtCummTD = dsCummTD.Tables[0];
            foreach (DataRow dRow2 in dtCummTD.Rows)
            {
                lblcumEngTD.Text = dRow2["eng_hours"] == DBNull.Value ? "0" : dRow2["eng_hours"].ToString();
                lblcumfabTD.Text = dRow2["fab_hours"] == DBNull.Value ? "0" : dRow2["fab_hours"].ToString();
                lblcumfinTD.Text = dRow2["fin_hours"] == DBNull.Value ? "0" : dRow2["fin_hours"].ToString();
                lblcummiscTD.Text = dRow2["misc_hours"] == DBNull.Value ? "0" : dRow2["misc_hours"].ToString();
                lblcumtotTD.Text = dRow2["TotHours"] == DBNull.Value ? "0" : dRow2["TotHours"].ToString();
            }

        //Cumulative Difference Calculation

            lblcumdiffEng.Text = (Decimal.Parse(lblcumEngHours.Text) - (Convert.ToDecimal(lblcumEngTD.Text))).ToString();
            lblcumdifffab.Text = (Decimal.Parse(lblcumFabHours.Text) - (Convert.ToDecimal(lblcumfabTD.Text))).ToString();
            lblcumdifffin.Text = (Decimal.Parse(lblcumfinHours.Text) - (Convert.ToDecimal(lblcumfinTD.Text))).ToString();
            lblcumdiffmisc.Text = (Decimal.Parse(lblcummiscHours.Text) - (Convert.ToDecimal(lblcumtotTD.Text))).ToString();
            lblcumdifftot.Text = (Convert.ToDecimal(lblcumdiffEng.Text) + Convert.ToDecimal(lblcumdifffab.Text) + Convert.ToDecimal(lblcumdifffin.Text) + Convert.ToDecimal(lblcumdiffmisc.Text)).ToString();
        //*******************
                //Normal Hours Labels Instantiation.

                lblbudeng.Text = "0";
                lblbudfab.Text = "0";
                lblbudfin.Text = "0";
                lblbudmisc.Text = "0";
                lblbudtot.Text = "0";

                lblEngTD.Text = "0";
                lblfabTD.Text = "0";
                lblfinTD.Text = "0";
                lblmiscTD.Text = "0";
                lbltotTD.Text = "0";

                lbldiffEng.Text = "0";
                lbldifffab.Text = "0";
                lbldifffin.Text = "0";
                lbldiffmisc.Text = "0";
                lbldifftot.Text = "0";

                DataTable dtNormal = dsNormal.Tables[0];
                foreach (DataRow dRow in dtNormal.Rows)
                {
                    lblbudeng.Text = dRow["eng_hours"] == DBNull.Value ? "0" : dRow["eng_hours"].ToString();
                    lblbudfab.Text = dRow["fab_hours"] == DBNull.Value ? "0" : dRow["fab_hours"].ToString();
                    lblbudfin.Text = dRow["fin_hours"] == DBNull.Value ? "0" : dRow["fin_hours"].ToString();
                    lblbudmisc.Text = dRow["misc_hours"] == DBNull.Value ? "0" : dRow["misc_hours"].ToString();
                    lblbudtot.Text = dRow["TotHours"] == DBNull.Value ? "0" : dRow["TotHours"].ToString();
                }

                DataTable dtTD = dsBudget.Tables[0];
                foreach (DataRow dRow1 in dtTD.Rows)
                {
                    lblEngTD.Text = dRow1["eng_hours"] == DBNull.Value ? "0" : dRow1["eng_hours"].ToString();
                    lblfabTD.Text = dRow1["fab_hours"] == DBNull.Value ? "0" : dRow1["fab_hours"].ToString();
                    lblfinTD.Text = dRow1["fin_hours"] == DBNull.Value ? "0" : dRow1["fin_hours"].ToString();
                    lblmiscTD.Text = dRow1["misc_hours"] == DBNull.Value ? "0" : dRow1["misc_hours"].ToString();
                    lbltotTD.Text = dRow1["TotHours"] == DBNull.Value ? "0" : dRow1["TotHours"].ToString();
                }

                txtenghours.Text = txtenghours.Text.Trim() == "" ? "0" : txtenghours.Text.Trim().ToString();
                txtfabhours.Text = txtfabhours.Text.Trim() == "" ? "0" : txtfabhours.Text.Trim().ToString();
                txtmischours.Text = txtmischours.Text.Trim() == "" ? "0" : txtmischours.Text.Trim().ToString();
                txtfinhours.Text = txtfinhours.Text.Trim() == "" ? "0" : txtfinhours.Text.Trim().ToString();

                lbldiffEng.Text = (Decimal.Parse(lblbudeng.Text) - (Convert.ToDecimal(lblEngTD.Text) + Convert.ToDecimal(txtenghours.Text))).ToString();
                lbldifffab.Text = (Decimal.Parse(lblbudfab.Text) - (Convert.ToDecimal(lblfabTD.Text) + Convert.ToDecimal(txtfabhours.Text))).ToString();
                lbldifffin.Text = (Decimal.Parse(lblbudfin.Text) - (Convert.ToDecimal(lblfinTD.Text) + Convert.ToDecimal(txtfinhours.Text))).ToString();
                lbldiffmisc.Text = (Decimal.Parse(lblbudmisc.Text) - (Convert.ToDecimal(lblmiscTD.Text) + Convert.ToDecimal(txtmischours.Text))).ToString();
                lbldifftot.Text = (Convert.ToDecimal(lbldiffEng.Text) + Convert.ToDecimal(lbldifffab.Text) + Convert.ToDecimal(lbldifffin.Text) + Convert.ToDecimal(lbldiffmisc.Text)).ToString();

        //Instantiate the labels
    }