// ////////////////////////////////////////////////////////////////////////
        //  PUBLIC METHODS
        //
        public SizeInformationTDS.SizeInformationDataTable GetSize()
        {
            sizeInformation = (SizeInformationTDS.SizeInformationDataTable)Session["sizeInformationNewDummy"];

            if (sizeInformation == null)
            {
                sizeInformation = ((SizeInformationTDS.SizeInformationDataTable)Session["sizeInformation"]);
            }

            return sizeInformation;
        }
        protected void AddSizeNewEmptyFix(GridView grdSize)
        {
            if (grdSize.Rows.Count == 0)
            {
                SizeInformationTDS.SizeInformationDataTable dt = new SizeInformationTDS.SizeInformationDataTable();
                dt.AddSizeInformationRow("", 3, false, false, "", false);
                Session["sizeInformationNewDummy"] = dt;

                grdSize.DataBind();
            }

            // normally executes at all postbacks
            if (grdSize.Rows.Count == 1)
            {
                SizeInformationTDS.SizeInformationDataTable dt = (SizeInformationTDS.SizeInformationDataTable)Session["sizeInformationNewDummy"];
                if (dt != null)
                {
                    grdSize.Rows[0].Visible = false;
                    grdSize.Rows[0].Controls.Clear();
                }
            }
        }
        // ////////////////////////////////////////////////////////////////////////
        // EVENTS
        //
        protected void Page_Load(object sender, EventArgs e)
        {
            // Register client scripts
            this.RegisterClientScripts();

            if (!IsPostBack)
            {
                // Security check
                if (!(Convert.ToBoolean(Session["sgLFS_CWP_POINTREPAIRS_VIEW"]) && Convert.ToBoolean(Session["sgLFS_CWP_POINTREPAIRS_EDIT"])))
                {
                    Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator.");
                }

                // Validate query string
                if (((string)Request.QueryString["source_page"] == null) || ((string)Request.QueryString["repair_point_id"] == null) || ((string)Request.QueryString["work_id"] == null))
                {
                    Response.Redirect("./../../error_page.aspx?error=" + "Invalid query string in pr_size.aspx");
                }

                // Tag Page
                hdfCompanyId.Value = Session["companyID"].ToString();
                hdfRepairPointId.Value = Convert.ToString(Request.QueryString["repair_point_id"]);
                hdfWorkId.Value = Convert.ToString(Request.QueryString["work_id"]);
                hdfUpdate.Value = "yes";
                Session.Remove("sizeInformationNewDummy");
                Session.Remove("sizeInformation");

                // If comming from
                // ... pr_edit.aspx
                if (Request.QueryString["source_page"] == "pr_edit.aspx")
                {
                    StoreNavigatorState();
                    ViewState["update"] = Request.QueryString["update"];

                    // ... Load size to edit
                    pointRepairsTDS = (PointRepairsTDS)Session["pointRepairsTDS"];
                    sizeInformationTDS = new SizeInformationTDS();

                    SizeInformationGateway sizeInformationGateway = new SizeInformationGateway(sizeInformationTDS);
                    sizeInformationGateway.Load(Int32.Parse(hdfCompanyId.Value.Trim()));

                    // ... Store datasets
                    Session["sizeInformationTDS"] = sizeInformationTDS;
                    Session["sizeInformation"] = sizeInformationTDS.SizeInformation;
                }
            }
            else
            {
                // Restore datasets
                pointRepairsTDS = (PointRepairsTDS)Session["pointRepairsTDS"];
                sizeInformationTDS = (SizeInformationTDS)Session["sizeInformationTDS"];
                sizeInformation = sizeInformationTDS.SizeInformation;
            }
        }