Example #1
0
        public C_Maint_Decision()
        {
            //
            // TODO: Add constructor logic here
            //
            DataTable dt = new MaintDecision().GetMaintDecisionsLimits();

            if (dt.Rows.Count > 0)
            {
                DataRow dr = dt.Rows[0];

                UDI_LIMIT_SM    = int.Parse(dr["UDI_LIMIT_SM"].ToString());
                UDI_LIMIT_S     = int.Parse(dr["UDI_LIMIT_S"].ToString());
                IRI_LIMIT_S     = int.Parse(dr["IRI_LIMIT_S"].ToString());
                FWD_LIMIT_S     = int.Parse(dr["FWD_LIMIT_S"].ToString());
                FWD_LIMIT_MED_S = int.Parse(dr["FWD_LIMIT_MED_S"].ToString());
                GPR_LIMIT_S     = int.Parse(dr["GPR_LIMIT_S"].ToString());
                SKID_LIMIT_S    = int.Parse(dr["SKID_LIMIT_S"].ToString());

                UDI_LIMIT_I  = int.Parse(dr["UDI_LIMIT_I"].ToString());
                IRI_LIMIT_I  = int.Parse(dr["IRI_LIMIT_I"].ToString());
                GPR_LIMIT_I  = int.Parse(dr["GPR_LIMIT_I"].ToString());
                SKID_LIMIT_I = int.Parse(dr["SKID_LIMIT_I"].ToString());

                UDI_LIMIT_IS = int.Parse(dr["UDI_LIMIT_IS"].ToString());

                UDI_LIMIT_R      = int.Parse(dr["UDI_LIMIT_R"].ToString());
                UDI_LIMIT_SEC_ST = int.Parse(dr["UDI_LIMIT_SEC_ST"].ToString());
            }
        }
Example #2
0
 protected void ddlMaintDecisions_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         int?udiAfter = new MaintDecision().GetMaintDecisionNewUDI(int.Parse(ddlMaintDecisions.SelectedValue), lblUdiBefore.Text);
         lblUdiAfter.Text = (udiAfter == null) ? "" : udiAfter.ToString();
     }
     catch (Exception ex)
     {
         lblFeedback.Text = ex.Message;
     }
 }
Example #3
0
    protected void btnShowReport_Click(object sender, EventArgs e)
    {
        try
        {
            lblFeedback.Text = "";
            lblTotal.Visible = false;

            if (radAreas.Checked)
            {
                if (raddtpFrom.SelectedDate == null)
                {
                    throw new Exception("الرجاء تحديد التاريخ");
                }

                lblTotal.Text    = new JpmmsCharting().GetDailyDataEntryTotalArea(raddtpFrom.SelectedDate).ToString("N2");
                lblTotal.Visible = true;
            }
            else if (radLENGTH.Checked)
            {
                if (ddlRegions.SelectedValue == "0")
                {
                    throw new Exception("الرجاء اختيار المنطقة");
                }

                lblTotal.Text    = new Region().GetRegionSamplesTotalLength(int.Parse(ddlRegions.SelectedValue)).ToString();
                lblTotal.Visible = true;
            }
            else if (radNetworkArea.Checked)
            {
                PavementStatusReport total = new JpmmsCharting().GetWholeNetworkArea();
                lblTotal.Text = string.Format("مقاطع: {0} م2 \n  تقاطعات: {1} م2 \n مناطق فرعية: {2} م2 \n المجموع: {3} م2", total.MainStSectionsTotal.ToString("N2"),
                                              total.MainStIntersectsTotal.ToString("N2"), total.RegionsTotal.ToString("N2"), total.WholeNetworkTotal.ToString("N2"));

                lblTotal.Visible = true;
            }
            else if (radIntersectTypes.Checked)
            {
                DataTable dt = new GeneralPmmsReporting().GetIntersectionTypes();
                Session.Add("option", "radIntersectTypes");
                Session.Add("ReportData", dt);
                string url = "ViewOtherReports.aspx";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
            }
            else if (radMaintDeciding.Checked)
            {
                DataTable dt = new MaintDeciding().GetAllMaintDeciding();
                Session.Add("option", "radMaintDeciding");
                Session.Add("ReportData", dt);
                string url = "ViewOtherReports.aspx";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
            }
            else if (radSurveyors.Checked)
            {
                DataTable dt = new Surveyor().GetAllSurveyors();
                Session.Add("option", "radSurveyors");
                Session.Add("ReportData", dt);
                string url = "ViewOtherReports.aspx";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
            }
            else if (radMaintDecisions.Checked)
            {
                DataTable dt = new MaintDecision().GetAllDecisions();
                Session.Add("option", "radMaintDecisions");
                Session.Add("ReportData", dt);
                string url = "ViewOtherReports.aspx";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
            }
            else if (radFWD.Checked)
            {
                lblTotal.Text    = " Point " + new MaintDecision().GetAllDecisionsFWD_HAFRIAT();
                lblTotal.Visible = true;
            }
            else if (radGPR.Checked)
            {
                lblTotal.Text = " km/Lane " + new MainStreet().TOTALSUMGPR().Rows[0][0].ToString();
                //lblTotal.Text = "1510.21 km/Lane";
                lblTotal.Visible = true;
            }
            else if (radSKID.Checked)
            {
                lblTotal.Text    = " km/Lane " + new MainStreet().TOTALSUMSKID().Rows[0][0].ToString();
                lblTotal.Visible = true;
            }
            else if (radIRI.Checked)
            {
                lblTotal.Text    = " km/Lane " + new MaintDecision().GetAllDecisionsIRI();
                lblTotal.Visible = true;
            }
            else if (radDIST.Checked)
            {
                lblTotal.Text    = " km/Lane " + new MaintDecision().GetAllDecisionsDDF();
                lblTotal.Visible = true;
            }
            else if (radAssets.Checked)
            {
                lblTotal.Text    = " km/direction " + new MaintDecision().GetAllDecisionsAssets();
                lblTotal.Visible = true;
            }
            else if (radRegionsALL.Checked)
            {
                lblTotal.Text    = " m2 " + new MaintDecision().GetAllSURVEYORS_REGIONS();
                lblTotal.Visible = true;
            }
        }
        catch (Exception ex)
        {
            lblFeedback.Text = ex.Message;
        }
    }
Example #4
0
        public bool CalculateMaintenanceDecisionForStreetIntersections(int m_MAIN_ST_ID, int SRV_ID)
        {
            int    rows          = 0;
            int    mdID          = 0;
            double intersectArea = 0;
            double sampleArea    = 0;
            //double sumMaintDArea = 0;
            //double sampleMaintArea = 0;
            double deepPatchingDistsArea = 0;
            double iri;
            string iri_value = "";

            MaintDecision maintD;

            MaintDecision[] intersectMaintD;
            MaintDecision[,] sampleMaintD;
            DataTable dtSmpDist, dtSmpUDI;

            double[] sampleMaintArea;

            // MAIN_ST_ID
            string sql = string.Format("select STREET_ID, INTERSECTION_ID, INTER_NO, INTERSECTION_AREA, UDI_VALUE, to_char(SURVEY_DATE,'DD/MM/YYYY','NLS_CALENDAR=''GREGORIAN''') as SURVEY_DATE, " +
                                       " to_char(UDI_DATE,'DD/MM/YYYY','NLS_CALENDAR=''GREGORIAN''') as UDI_DATE, SURVEY_NO from UDI_INTERSECTION where STREET_ID={0} and SURVEY_NO={1} ",
                                       m_MAIN_ST_ID, SRV_ID);

            Shared.LogMdStatment(sql);
            DataTable dtIntersectUDI = db.ExecuteQuery(sql);

            foreach (DataRow dr in dtIntersectUDI.Rows)
            {
                iri       = 0;
                iri       = m_C_Get_Data.GET_INTERSECTION_IRI(dr["INTER_NO"].ToString());
                iri_value = (iri == -1) ? "NULL" : iri.ToString("0.00");

                //
                //for (int i = 1; i <= 9; i++)
                //{
                //    intersectMaintD[i] = new MaintDecision();
                //    intersectMaintD[i].AffectedSamples = new Dictionary<int, int>();
                //}


                intersectArea = double.Parse(dr["INTERSECTION_AREA"].ToString());
                if (double.Parse(dr["UDI_VALUE"].ToString()) >= UDI_LIMIT_I) // udi>=70
                {
                    #region IRI

                    //if (iri == -1)
                    //    continue;  else
                    if (iri != -1 && iri > IRI_LIMIT_I)
                    {
                        // IRI>4:  mill and repace for the whole intersection
                        mdID = (int)MaintenanceDecisions.Mill_Repave_5cm;

                        //                                                                              0                   1         2           3           4           5                               6                     7     8
                        sql = string.Format("Insert Into MAINTENANCE_DECISIONS (RECORD_ID, RECOMMENDED_DECISION_ID, INTERSECTION_ID, MAINT_AREA, SURVEY_DATE, UDI_DATE, SURVEY_NO, USING_UDI, USING_IRI, STREET_ID, THICKNESS, UDI, IRI) " +
                                            " Values(SEQ_MAINTENANCE_DECISION.nextval, {0}, {1}, {2}, To_date('{3}', 'DD/MM/YYYY'), To_date('{4}', 'DD/MM/YYYY'), {5}, 1, 1, {6}, " +
                                            " (select THICKNESS from MAINT_DECISIONS where RECOMMENDED_DECISION_ID={0}), {7}, {8}) ",
                                            mdID, dr["INTERSECTION_ID"].ToString(), intersectArea.ToString("0.00"), dr["SURVEY_DATE"].ToString(), dr["UDI_DATE"].ToString(), SRV_ID, m_MAIN_ST_ID,
                                            dr["UDI_VALUE"].ToString(), iri_value);

                        Shared.LogMdStatment(sql);
                        rows += db.ExecuteNonQuery(sql);
                    }
                    else if ((iri != -1 && iri <= IRI_LIMIT_I) || iri == -1)
                    {
                        #region perSample

                        intersectMaintD = new MaintDecision[10];
                        for (int i = 1; i <= 9; i++)
                        {
                            intersectMaintD[i] = new MaintDecision();
                            //intersectMaintD[i].AffectedSamples = new Dictionary<int, int>();
                        }


                        sql = string.Format("select STREET_ID, INTER_ID, INTER_NO, INTER_SAMP_ID, INTER_SAMP_NO, INTER_SAMP_AREA, UDI_VALUE, UDI_DATE, SURVEY_DATE, SURVEY_NO " +
                                            " from UDI_INTERSECTION_SAMPLE where INTER_ID={0} and SURVEY_NO={1} ", dr["INTERSECTION_ID"].ToString(), SRV_ID);

                        Shared.LogMdStatment(sql);
                        dtSmpUDI     = db.ExecuteQuery(sql);
                        sampleMaintD = new MaintDecision[10, dtSmpUDI.Rows.Count];
                        for (int i = 1; i <= 9; i++)
                        {
                            for (int j = 0; j < dtSmpUDI.Rows.Count; j++)
                            {
                                sampleMaintD[i, j] = new MaintDecision();
                            }
                        }


                        int c = 0;
                        sampleMaintArea = new Double[dtSmpUDI.Rows.Count];

                        foreach (DataRow drSmpUDI in dtSmpUDI.Rows)
                        {
                            //sampleMaintArea = 0;
                            deepPatchingDistsArea = 0;
                            sampleArea            = double.Parse(drSmpUDI["INTER_SAMP_AREA"].ToString());

                            if (double.Parse(drSmpUDI["UDI_VALUE"].ToString()) < UDI_LIMIT_IS)
                            {
                                // sample UDI < 70: mill and repave the whole sample
                                sampleMaintArea[c] = sampleArea;

                                mdID = (int)MaintenanceDecisions.Mill_Repave_5cm;
                                intersectMaintD[(int)MaintenanceDecisions.Mill_Repave_5cm].MaintArea += sampleArea;

                                sampleMaintD[(int)MaintenanceDecisions.Mill_Repave_5cm, c].MaintArea        = sampleArea;
                                sampleMaintD[(int)MaintenanceDecisions.Mill_Repave_5cm, c].UDI              = int.Parse(drSmpUDI["UDI_VALUE"].ToString());
                                sampleMaintD[(int)MaintenanceDecisions.Mill_Repave_5cm, c].AffectedSampleID = int.Parse(drSmpUDI["INTER_SAMP_ID"].ToString());
                            }
                            else
                            {
                                // sample UDI >= 70: check maintenance decisions for sample distresses
                                sql = string.Format("select DIST_CODE, DIST_SEVERITY, DIST_AREA, DIST_DENSITY from V_INTERSECT_SAMPLE_DECISIONS " +
                                                    " where INTER_SAMP_ID={0} and SURVEY_NO={1} ", drSmpUDI["INTER_SAMP_ID"].ToString(), SRV_ID);

                                Shared.LogMdStatment(sql);
                                dtSmpDist = db.ExecuteQuery(sql);
                                foreach (DataRow drDist in dtSmpDist.Rows)
                                {
                                    maintD = deciding.GetMaintDecision(int.Parse(drDist["DIST_CODE"].ToString()), drDist["DIST_SEVERITY"].ToString()[0],
                                                                       double.Parse(drDist["DIST_DENSITY"].ToString()), double.Parse(drDist["DIST_AREA"].ToString()));

                                    if (maintD.MaintDecisionID != 0 && maintD.MaintArea < (sampleArea / 2))
                                    {
                                        sampleMaintArea[c] += maintD.MaintArea;
                                        intersectMaintD[maintD.MaintDecisionID].MaintArea += maintD.MaintArea;

                                        sampleMaintD[maintD.MaintDecisionID, c].MaintArea       += maintD.MaintArea;
                                        sampleMaintD[maintD.MaintDecisionID, c].UDI              = int.Parse(drSmpUDI["UDI_VALUE"].ToString());
                                        sampleMaintD[maintD.MaintDecisionID, c].AffectedSampleID = int.Parse(drSmpUDI["INTER_SAMP_ID"].ToString());

                                        //intersectMaintD[maintD.MaintDecisionID].MaintArea += maintD.MaintArea;
                                        //intersectMaintD[maintD.MaintDecisionID].AffectedSamples.Remove(int.Parse(drSmpUDI["INTER_SAMP_ID"].ToString()));
                                        //intersectMaintD[maintD.MaintDecisionID].AffectedSamples.Add(int.Parse(drSmpUDI["INTER_SAMP_ID"].ToString()), int.Parse(drSmpUDI["UDI_VALUE"].ToString()));

                                        //if (maintD.MaintDecisionID != 1)
                                        //    intersectMaintD[(int)MaintenanceDecisions.DoNothing].AffectedSamples.Remove(int.Parse(drSmpUDI["INTER_SAMP_ID"].ToString()));
                                    }
                                    else
                                    {
                                        // remove all previously decisions taken on sample and take "Deep Patching" and "Mill-repave" decisions
                                        for (int i = 1; i <= 9; i++)
                                        {
                                            sampleMaintD[i, c].AffectedSampleID = 0;
                                            sampleMaintD[i, c].MaintArea        = 0;
                                            sampleMaintD[i, c].UDI = int.Parse(drSmpUDI["UDI_VALUE"].ToString());
                                        }


                                        sampleMaintArea[c] += sampleArea;

                                        sql = string.Format("select nvl(sum(DIST_AREA), 0) as sum_dist_area from V_INTERSECT_SAMPLE_DECISIONS where INTER_SAMP_ID= {0} and survey_no={1} " +
                                                            " and ((dist_code in (6, 7, 8, 13) and DIST_SEVERITY='H') or (dist_code=1 and DIST_SEVERITY='M'))  ",
                                                            drSmpUDI["INTER_SAMP_ID"].ToString(), SRV_ID);

                                        Shared.LogMdStatment(sql);
                                        deepPatchingDistsArea = double.Parse(db.ExecuteScalar(sql).ToString());

                                        intersectMaintD[(int)MaintenanceDecisions.DeepPatching].MaintArea    += deepPatchingDistsArea;
                                        intersectMaintD[(int)MaintenanceDecisions.Mill_Repave_5cm].MaintArea += sampleArea;


                                        sampleMaintD[(int)MaintenanceDecisions.DeepPatching, c].MaintArea        = deepPatchingDistsArea;
                                        sampleMaintD[(int)MaintenanceDecisions.DeepPatching, c].UDI              = int.Parse(drSmpUDI["UDI_VALUE"].ToString());
                                        sampleMaintD[(int)MaintenanceDecisions.DeepPatching, c].AffectedSampleID = int.Parse(drSmpUDI["INTER_SAMP_ID"].ToString());

                                        sampleMaintD[(int)MaintenanceDecisions.Mill_Repave_5cm, c].MaintArea        = sampleArea;
                                        sampleMaintD[(int)MaintenanceDecisions.Mill_Repave_5cm, c].UDI              = int.Parse(drSmpUDI["UDI_VALUE"].ToString());
                                        sampleMaintD[(int)MaintenanceDecisions.Mill_Repave_5cm, c].AffectedSampleID = int.Parse(drSmpUDI["INTER_SAMP_ID"].ToString());

                                        break;
                                    }
                                }
                            }


                            if (sampleMaintArea[c] == 0)
                            {
                                sampleMaintD[(int)MaintenanceDecisions.DoNothing, c].AffectedSampleID = int.Parse(drSmpUDI["INTER_SAMP_ID"].ToString());
                                sampleMaintD[(int)MaintenanceDecisions.DoNothing, c].UDI       = int.Parse(drSmpUDI["UDI_VALUE"].ToString());
                                sampleMaintD[(int)MaintenanceDecisions.DoNothing, c].MaintArea = 0;
                            }
                            else
                            {
                                sampleMaintD[(int)MaintenanceDecisions.DoNothing, c].AffectedSampleID = 0;
                            }

                            c += 1;
                        }

                        // check maintenance area not exceeding 50% of intersection area
                        for (int md = 1; md <= 9; md++)
                        {
                            if (intersectMaintD[md].MaintArea > intersectArea / 2)
                            {
                                intersectMaintD[md].MaintArea = intersectArea;
                                for (c = 0; c < dtSmpUDI.Rows.Count; c++)
                                {
                                    sampleMaintD[(int)MaintenanceDecisions.DoNothing, c].AffectedSampleID = 0;
                                    sampleMaintD[md, c].AffectedSampleID = int.Parse(dtSmpUDI.Rows[c]["INTER_SAMP_ID"].ToString());
                                    sampleMaintD[md, c].UDI       = int.Parse(dtSmpUDI.Rows[c]["UDI_VALUE"].ToString());
                                    sampleMaintD[md, c].MaintArea = double.Parse(dtSmpUDI.Rows[c]["INTER_SAMP_AREA"].ToString());
                                }

                                //foreach (DataRow drSample in dtSmpUDI.Rows)
                                //{
                                //    intersectMaintD[i].AffectedSamples.Remove(int.Parse(drSample["INTER_SAMP_ID"].ToString()));
                                //    intersectMaintD[i].AffectedSamples.Add(int.Parse(drSample["INTER_SAMP_ID"].ToString()), int.Parse(drSample["UDI_VALUE"].ToString()));
                                //}
                            }


                            // save lane maintenance decision to DB
                            if ((md != 1 && intersectMaintD[md].MaintArea == 0))
                            {
                                continue;
                            }
                            else
                            {
                                for (c = 0; c < dtSmpUDI.Rows.Count; c++)
                                {
                                    if (sampleMaintD[md, c].AffectedSampleID != 0)
                                    {
                                        //                                                                              0                   1         2           3           4           5                                 6                     7       8        9
                                        sql = string.Format("Insert Into MAINTENANCE_DECISIONS (RECORD_ID, RECOMMENDED_DECISION_ID, INTERSECTION_ID, MAINT_AREA, SURVEY_DATE, UDI_DATE, SURVEY_NO, USING_UDI, USING_IRI, STREET_ID, THICKNESS, UDI, INT_SMP_ID, IRI) " +
                                                            " Values(SEQ_MAINTENANCE_DECISION.nextval, {0}, {1}, {2}, To_date('{3}', 'DD/MM/YYYY'), To_date('{4}', 'DD/MM/YYYY'), " +
                                                            " {5}, 1, 1, {6}, (select THICKNESS from MAINT_DECISIONS where RECOMMENDED_DECISION_ID={0}), {7}, {8}, {9}) ",
                                                            md, dr["INTERSECTION_ID"].ToString(), sampleMaintD[md, c].MaintArea.ToString("0.00"), dr["SURVEY_DATE"].ToString(), dr["UDI_DATE"].ToString(),
                                                            SRV_ID, m_MAIN_ST_ID, sampleMaintD[md, c].UDI, sampleMaintD[md, c].AffectedSampleID, iri_value);

                                        Shared.LogMdStatment(sql);
                                        rows += db.ExecuteNonQuery(sql);
                                    }
                                    else
                                    {
                                        continue;
                                    }
                                }
                            }
                        }

                        #endregion
                    }

                    #endregion
                }
                else  // udi <70
                {
                    mdID = (int)MaintenanceDecisions.Mill_Repave_5cm;

                    //                                                                              0              1                2           3           4           5                               6                   7    8
                    sql = string.Format("Insert Into MAINTENANCE_DECISIONS (RECORD_ID, RECOMMENDED_DECISION_ID, INTERSECTION_ID, MAINT_AREA, SURVEY_DATE, UDI_DATE, SURVEY_NO, USING_UDI, USING_IRI, STREET_ID, THICKNESS, UDI, IRI) " +
                                        " Values(SEQ_MAINTENANCE_DECISION.nextval, {0}, {1}, {2}, To_date('{3}', 'DD/MM/YYYY'), To_date('{4}', 'DD/MM/YYYY'), {5}, 1, 1, {6}, " +
                                        " (select THICKNESS from MAINT_DECISIONS where RECOMMENDED_DECISION_ID={0}), {7}, {8}) ",
                                        mdID, dr["INTERSECTION_ID"].ToString(), intersectArea.ToString("0.00"), dr["SURVEY_DATE"].ToString(), dr["UDI_DATE"].ToString(), SRV_ID, m_MAIN_ST_ID,
                                        dr["UDI_VALUE"].ToString(), iri_value);

                    Shared.LogMdStatment(sql);
                    rows += db.ExecuteNonQuery(sql);
                }
            }

            return(rows > 0);
        }
Example #5
0
    protected void btnShowReport_Click(object sender, EventArgs e)
    {
        try
        {
            lblFeedback.Text = "";
            lblTotal.Visible = false;

            if (radAreas.Checked)
            {
                if (raddtpFrom.SelectedDate == null)
                {
                    throw new Exception("الرجاء تحديد التاريخ");
                }

                lblTotal.Text    = new JpmmsCharting().GetDailyDataEntryTotalArea(raddtpFrom.SelectedDate).ToString("N2");
                lblTotal.Visible = true;
            }
            else if (radNetworkArea.Checked)
            {
                PavementStatusReport total = new JpmmsCharting().GetWholeNetworkArea();
                lblTotal.Text = string.Format("مقاطع: {0} م2 \n  تقاطعات: {1} م2 \n مناطق فرعية: {2} م2 \n المجموع: {3} م2", total.MainStSectionsTotal.ToString("N2"),
                                              total.MainStIntersectsTotal.ToString("N2"), total.RegionsTotal.ToString("N2"), total.WholeNetworkTotal.ToString("N2"));

                lblTotal.Visible = true;
            }
            else if (radIntersectTypes.Checked)
            {
                DataTable dt = new GeneralPmmsReporting().GetIntersectionTypes();
                Session.Add("option", "radIntersectTypes");
                Session.Add("ReportData", dt);
                string url = "ViewOtherReports.aspx";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
            }
            else if (radMaintDeciding.Checked)
            {
                DataTable dt = new MaintDeciding().GetAllMaintDeciding();
                Session.Add("option", "radMaintDeciding");
                Session.Add("ReportData", dt);
                string url = "ViewOtherReports.aspx";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
            }
            else if (radSurveyors.Checked)
            {
                DataTable dt = new Surveyor().GetAllSurveyors();
                Session.Add("option", "radSurveyors");
                Session.Add("ReportData", dt);
                string url = "ViewOtherReports.aspx";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
            }
            else if (radMaintDecisions.Checked)
            {
                DataTable dt = new MaintDecision().GetAllDecisions();
                Session.Add("option", "radMaintDecisions");
                Session.Add("ReportData", dt);
                string url = "ViewOtherReports.aspx";
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "RedirectScriptCoupon", "window.open('" + url + "', '_blank')", true);
            }
        }
        catch (Exception ex)
        {
            lblFeedback.Text = ex.Message;
        }
    }