/// <summary>
 /// InitData
 /// </summary>
 protected override void InitData()
 {
     _data = new ActualCostsAddTDS();
 }
        // ////////////////////////////////////////////////////////////////////////
        // INITIAL EVENTS
        //
        protected void Page_Load(object sender, EventArgs e)
        {
            // Register client scripts
            this.RegisterClientScripts();

            if (!IsPostBack)
            {
                if (!(Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_ACTUAL_COSTS_ADMIN"])))
                {
                    // Security check
                    if (!(Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_ACTUAL_COSTS_ADD"])))
                    {
                        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)
                    {
                        Response.Redirect("./../../error_page.aspx?error=" + "Invalid query string in actual_costs_add.aspx");
                    }
                }

                // Tag Page
                hdfCompanyId.Value = Session["companyID"].ToString();
                upnlSubcontractorCost.Visible = false;

                // ... Dummy values
                Session.Remove("subcontractorCostsBySubcontractorDummy");
                Session.Remove("subcontractorCostsByClientProjectDummy");
                Session.Remove("hotelCostsByClientProjectDummy");
                Session.Remove("bondingCompaniesCostsByClientProjectDummy");
                Session.Remove("insuranceCompaniesCostsByClientProjectDummy");
                Session.Remove("otherCostsByClientProjectDummy");

                // Store datasets
                actualCostsAddTDS = new ActualCostsAddTDS();
                Session["actualCostsAddTDS"] = actualCostsAddTDS;
                Session["hotelCosts"] = actualCostsAddTDS.HotelCosts;
                Session["subcontractorCosts"] = actualCostsAddTDS.SubcontractorCosts;
                Session["bondingCompaniesCosts"] = actualCostsAddTDS.BondingCompaniesCosts;
                Session["insuranceCompaniesCosts"] = actualCostsAddTDS.InsuranceCompaniesCosts;
                Session["otherCosts"] = actualCostsAddTDS.OtherCosts;

                StoreNavigatorState();

                // StepSection1In
                wzActualCostsAdd.ActiveStepIndex = 0;
                StepBeginIn();
            }
            else
            {
                // Restore datasets
                actualCostsAddTDS = (ActualCostsAddTDS)Session["actualCostsAddTDS"];
                subcontractorCosts = actualCostsAddTDS.SubcontractorCosts;
                Session["subcontractorCosts"] = actualCostsAddTDS.SubcontractorCosts;
                Session["hotelCosts"] = actualCostsAddTDS.HotelCosts;
                Session["bondingCompaniesCosts"] = actualCostsAddTDS.BondingCompaniesCosts;
                Session["insuranceCompaniesCosts"] = actualCostsAddTDS.InsuranceCompaniesCosts;
                Session["otherCosts"] = actualCostsAddTDS.OtherCosts;
            }
        }