/// <summary>
 /// InitData. 
 /// </summary>
 protected override void InitData()
 {
     _data = new SelectProjectTDS();
 }
        // ////////////////////////////////////////////////////////////////////////
        // EVENTS
        //
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                // Validate query string
                if (((string)Request.QueryString["source_page"] == null) || ((string)Request.QueryString["work_type"] == null))
                {
                    Response.Redirect("./../../error_page.aspx?error=" + "Invalid query string in select_project.aspx");
                }

                // Security check
                if ((string)Request.QueryString["work_type"] == "Rehab Assessment")
                {
                    if (!(Convert.ToBoolean(Session["sgLFS_CWP_REHABASSESSMENT_VIEW"])))
                    {
                        Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator.");
                    }
                }

                if ((string)Request.QueryString["work_type"] == "Full Length Lining")
                {
                    if (!(Convert.ToBoolean(Session["sgLFS_CWP_FULLLENGTHLINING_VIEW"])))
                    {
                        Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator.");
                    }
                }

                if ((string)Request.QueryString["work_type"] == "Junction Lining")
                {
                    if (!(Convert.ToBoolean(Session["sgLFS_CWP_JUNCTIONLINING_VIEW"])))
                    {
                        Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator.");
                    }
                }

                if ((string)Request.QueryString["work_type"] == "Point Repairs")
                {
                    if (!(Convert.ToBoolean(Session["sgLFS_CWP_POINTREPAIRS_VIEW"])))
                    {
                        Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator.");
                    }
                }

                if ((string)Request.QueryString["work_type"] == "Manhole Rehabilitation")
                {
                    if (!(Convert.ToBoolean(Session["sgLFS_CWP_MANHOLEREHABILITATION_VIEW"])))
                    {
                        Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator.");
                    }
                }

                // Prepare initial data
                hdfCompanyId.Value = Session["companyID"].ToString();
                hdfLoginId.Value = Convert.ToInt32(Session["loginID"]).ToString();
                hdfWorkType.Value = Request.QueryString["work_type"];
                Session.Remove("lastUsedProjectsDummy");

                if (Request.QueryString["work_type"] == "Manhole Rehabilitation")
                {
                    //lblInProjectManhole.Visible = true;
                    //cbxInProject.Visible = true;
                    //btnSelectNoProject.Visible = false;
                    upnlForManholesInProject.Visible = true;
                }
                else
                {
                    //lblInProjectManhole.Visible = false;
                    //cbxInProject.Visible = false;
                    //btnSelectNoProject.Visible = false;
                    upnlForManholesInProject.Visible = true;
                }

                // ...  for the client
                int companyId = Int32.Parse(hdfCompanyId.Value);
                CompaniesList companiesList = new CompaniesList(new DataSet());
                companiesList.LoadAndAddItem(-1, "(Select a client)", companyId);
                ddlClient.DataSource = companiesList.Table;
                ddlClient.DataValueField = "COMPANIES_ID";
                ddlClient.DataTextField = "Name";
                ddlClient.DataBind();
                ddlClient.SelectedIndex = 0;

                // ... for project
                ProjectList projectList = new ProjectList();
                projectList.LoadProjectsAndAddItem(-1, "(Select a project)", -1);
                ddlProject.DataSource = projectList.Table;
                ddlProject.DataValueField = "ProjectID";
                ddlProject.DataTextField = "Name";
                ddlProject.DataBind();
                ddlProject.SelectedIndex = 0;

                // If comming from
                // ...out
                // ... load batch verification
                if (hdfWorkType.Value == "Manhole Rehabilitation")
                {
                    if (Convert.ToBoolean(Session["sgLFS_CWP_MANHOLEREHABILITATION_ADMIN"]))
                    {
                        string script = "<script language='javascript'>";
                        script += "window.open('./../ManholeRehabilitation/mr_batch_verification.aspx?source_page=select_project.aspx', '_blank', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=500, height=540')";
                        script += "</script>";
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "Wizard", script, false);
                    }
                }

                if ((hdfWorkType.Value == "Rehab Assessment") || (hdfWorkType.Value == "Full Length Lining") || (hdfWorkType.Value == "Point Repairs") || (hdfWorkType.Value == "Junction Lining") || (hdfWorkType.Value == "Junction Lining Section") || (hdfWorkType.Value == "Manhole Rehabilitation"))
                {
                    DateTime today = DateTime.Today;

                    if ((Convert.ToBoolean(Session["sgLFS_CWP_GERENCIAL_PRODUCTION_REPORTS"])) && (today.DayOfWeek == DayOfWeek.Monday))
                    {
                        string script = "<script language='javascript'>";
                        script += "window.open('./../Common/gerencial_weekly_production_report.aspx?source_page=select_project.aspx', '_blank', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=800, height=680')";
                        script += "</script>";
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "Report", script, false);
                    }

                    // ... ... load Gerencial pop up ofr gerencial reports
                    if (Convert.ToBoolean(Session["sgLFS_CWP_GERENCIAL_PRODUCTION_REPORTS"]))
                    {
                        string script = "<script language='javascript'>";
                        script += "window.open('./../Common/gerencial_daily_production_report.aspx?source_page=select_project.aspx', '_blank', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=800, height=680')";
                        script += "</script>";
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "Report2", script, false);
                    }

                    // ... ... load eSewers Data
                    ddlClient.SelectedValue = "-1";
                    selectProjectTDS = new SelectProjectTDS();
                    SelectProjectLastUsedProjectsGateway selectProjectLastUsedProjectsGateway = new SelectProjectLastUsedProjectsGateway(selectProjectTDS);
                    selectProjectLastUsedProjectsGateway.LoadByLoginIdWorkType(Int32.Parse(hdfLoginId.Value), hdfWorkType.Value, Int32.Parse(hdfCompanyId.Value));
                }

                // ... left menu
                if (Request.QueryString["source_page"] == "lm")
                {
                    ddlClient.SelectedValue = (string)Request.QueryString["client"];
                    selectProjectTDS = new SelectProjectTDS();
                    SelectProjectLastUsedProjectsGateway selectProjectLastUsedProjectsGateway = new SelectProjectLastUsedProjectsGateway(selectProjectTDS);
                    selectProjectLastUsedProjectsGateway.LoadByLoginIdWorkType(Int32.Parse(hdfLoginId.Value), hdfWorkType.Value, Int32.Parse(hdfCompanyId.Value));
                }

                // ... Store datasets
                Session["selectProjectTDS"] = selectProjectTDS;
                Session["lastUsedProjects"] = selectProjectTDS.LastUsedProjects;
            }
            else
            {
                // Restore datasets
                selectProjectTDS = (SelectProjectTDS)Session["selectProjectTDS"];
            }
        }