private void UpdateDatabase()
        {
            int companyId = Int32.Parse(hdfCompanyId.Value);

            DB.Open();
            DB.BeginTransaction();
            try
            {
                PersonalAgencyInformation personalAgencyInformation = new PersonalAgencyInformation(personalAgencyInformationTDS);
                personalAgencyInformation.Save(companyId);

                DB.CommitTransaction();

                // Store datasets
                personalAgencyInformationTDS.AcceptChanges();
                Session["personalAgencyInformationTDS"] = personalAgencyInformationTDS;
            }
            catch (Exception ex)
            {
                DB.RollbackTransaction();

                string url = string.Format("./../../error_page.aspx?error={0}", ex.Message.Replace('\n', ' '));
                Response.Redirect(url);
            }
        }
        protected void grdPersonalAgency_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            Page.Validate("personalAgencyDataEdit");
            if (Page.IsValid)
            {
                string originalPersonalAgencyName = e.Keys["PersonalAgencyName"].ToString();
                int companyId = Int32.Parse(hdfCompanyId.Value);

                string newPersonalAgencyName = ((TextBox)grdPersonalAgency.Rows[e.RowIndex].FindControl("tbxPersonalAgencyNameEdit")).Text.Trim();

                if (originalPersonalAgencyName != newPersonalAgencyName)
                {
                    // Update data
                    PersonalAgencyInformation model = new PersonalAgencyInformation(personalAgencyInformationTDS);
                    model.Update(originalPersonalAgencyName, newPersonalAgencyName, companyId);
                }

                // Store dataset
                Session.Remove("personalAgencyInformationDummy");
                Session["personalAgencyInformationTDS"] = personalAgencyInformationTDS;
                Session["personalAgencyInformation"] = personalAgencyInformationTDS.PersonalAgencyInformation;
            }
            else
            {
                e.Cancel = true;
            }
        }
        private void GrdPersonalAgencyAdd()
        {
            if (ValidatePersonalAgencyFooter())
            {
                Page.Validate("personalAgencyDataNew");
                if (Page.IsValid)
                {
                    int companyId = Int32.Parse(hdfCompanyId.Value);
                    string personalAgencyName = ((TextBox)grdPersonalAgency.FooterRow.FindControl("tbxPersonalAgencyNameNew")).Text.Trim();

                    PersonalAgencyInformation model = new PersonalAgencyInformation(personalAgencyInformationTDS);
                    model.Insert(personalAgencyName, companyId, false, false);

                    Session.Remove("personalAgencyInformationDummy");
                    Session["personalAgencyInformationTDS"] = personalAgencyInformationTDS;
                    Session["personalAgencyInformation"] = personalAgencyInformationTDS.PersonalAgencyInformation;

                    grdPersonalAgency.DataBind();
                    grdPersonalAgency.PageIndex = grdPersonalAgency.PageCount - 1;
                }
            }
        }
        protected void grdPersonalAgency_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            //Page.Validate("personalAgencyData");
            EmployeePersonalAgencyGateway employeePersonalAgencyGateway = new EmployeePersonalAgencyGateway();

            string personalAgencyName = e.Keys["PersonalAgencyName"].ToString();
            int companyId = Int32.Parse(hdfCompanyId.Value);

            if (!employeePersonalAgencyGateway.IsUsedInEmployee(personalAgencyName, companyId))
            {
                // If the gridview is edition mode
                if (grdPersonalAgency.EditIndex >= 0)
                {
                    grdPersonalAgency.UpdateRow(grdPersonalAgency.EditIndex, true);
                }

                PersonalAgencyInformation model = new PersonalAgencyInformation(personalAgencyInformationTDS);

                // Delete Personnel Agency
                model.Delete(personalAgencyName, companyId);

                // Store dataset
                Session.Remove("personalAgencyInformationDummy");
                Session["personalAgencyInformationTDS"] = personalAgencyInformationTDS;
                Session["personalAgencyInformation"] = personalAgencyInformationTDS.PersonalAgencyInformation;
            }
            else
            {
                Page.Validate("personalAgencyData");
                e.Cancel = true;
            }
        }