private void StepAssociationsProcessGrid()
        {
            string associationsList = "";

            if (grdAssociations.Rows.Count > 0)
            {
                foreach (GridViewRow row in grdAssociations.Rows)
                {
                    // Save associations
                    int associationsId = Int32.Parse(grdAssociations.DataKeys[row.RowIndex].Values["AssociationsID"].ToString());
                    bool selected = ((CheckBox)row.FindControl("cbxSelected")).Checked;
                    bool byDefault = ((CheckBox)row.FindControl("cbxByDefault")).Checked;

                    UnitsOfMeasurementAssociationsToolAssociatedUnits unitsOfMeasurementAssociationsToolAssociatedUnits = new UnitsOfMeasurementAssociationsToolAssociatedUnits(unitsOfMeasurementAssociationsToolTDS);
                    unitsOfMeasurementAssociationsToolAssociatedUnits.Update(associationsId, byDefault, selected);

                    // Get List of Associations
                    if (selected)
                    {
                        associationsList = associationsList + "    - " + ((Label)row.FindControl("lblDescription")).Text ;

                        if (byDefault)
                        {
                            associationsList = associationsList + ", DEFAULT";
                        }
                        associationsList = associationsList + "\n";
                    }
                }
            }

            hdfAssociationsList.Value = associationsList;
            Session["unitsOfMeasurementAssociationsToolTDS"] = unitsOfMeasurementAssociationsToolTDS;
            Session["associations"] = unitsOfMeasurementAssociationsToolTDS.AssociatedUnits;
            associations = unitsOfMeasurementAssociationsToolTDS.AssociatedUnits;
        }
        private void UpdateDatabase()
        {
            DB.Open();
            DB.BeginTransaction();
            try
            {
                UnitsOfMeasurementAssociationsToolAssociatedUnits unitsOfMeasurementAssociationsToolAssociatedUnits = new UnitsOfMeasurementAssociationsToolAssociatedUnits(unitsOfMeasurementAssociationsToolTDS);
                unitsOfMeasurementAssociationsToolAssociatedUnits.Save();

                DB.CommitTransaction();

                // Store datasets
                Session["unitsOfMeasurementAssociationsToolTDS"] = unitsOfMeasurementAssociationsToolTDS;

            }
            catch (Exception ex)
            {
                DB.RollbackTransaction();

                string url = string.Format("./../../error_page.aspx?error={0}", ex.Message.Replace('\n', ' '));
                Response.Redirect(url);
            }
        }
        // ////////////////////////////////////////////////////////////////////////
        // STEP2 - ASSOCIATIONS - METHODS
        //
        private void StepAssociationsIn()
        {
            // Set instruction
            Label instruction = (Label)this.Master.FindControl("lblInstruction");
            instruction.Text = "Please select the Units you want to associate with the module " + hdfModule.Value + " and set one as default";

            // Load Data
            if (hdfLoadDataFirstTime.Value == "True")
            {
                int companyId = Int32.Parse(hdfCompanyId.Value);
                UnitsOfMeasurementAssociationsToolAssociatedUnits unitsOfMeasurementAssociationsToolAssociatedUnits = new UnitsOfMeasurementAssociationsToolAssociatedUnits(unitsOfMeasurementAssociationsToolTDS);
                unitsOfMeasurementAssociationsToolAssociatedUnits.LoadAll(hdfModule.Value, companyId);
                hdfLoadDataFirstTime.Value = "False";
            }

            // ... Store tables
            Session["unitsOfMeasurementAssociationsToolTDS"] = unitsOfMeasurementAssociationsToolTDS;
            Session["associations"] = unitsOfMeasurementAssociationsToolTDS.AssociatedUnits;
            associations = unitsOfMeasurementAssociationsToolTDS.AssociatedUnits;

            grdAssociations.DataBind();
        }