private void UpdateDatabase()
        {
            DB.Open();
            DB.BeginTransaction();
            try
            {
                EmployeeAdd employeeAdd = new EmployeeAdd(employeesAddTDS);
                int employeeId = employeeAdd.Save();

                EmployeeAddTypeHistory employeeAddTypeHistory = new EmployeeAddTypeHistory(employeesAddTDS);
                employeeAddTypeHistory.Save(employeeId);
                hdfEmployeeId.Value = employeeId.ToString();

                DB.CommitTransaction();

                // Store datasets
                employeesAddTDS.AcceptChanges();
                Session["employeesAddTDS"] = employeesAddTDS;

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

                string url = string.Format("./../../error_page.aspx?error={0}", ex.Message.Replace('\n', ' '));
                Response.Redirect(url);
            }
        }
        private void PostPageChanges()
        {
            // Load user data
            int loginId = Int32.Parse(Session["selectedLoginId"].ToString());
            int companyId = Convert.ToInt32(Session["companyID"]);

            LoginGateway loginGateway = new LoginGateway();
            loginGateway.LoadByLoginId((int)loginId, companyId);

            int? contactsId = loginGateway.GetContactsId((int)loginId, companyId);
            string fullName = loginGateway.GetRealName((int)loginId, companyId);
            string firstName = hdfFirstName.Value;
            string middleInitial = "";
            string lastName = hdfLastName.Value;
            string type = hdfType.Value;
            string state = hdfState.Value;
            bool isSalesman = false;
            bool requestProjectTime = bool.Parse(hdfRequestTimesheet.Value);
            bool deleted = false;
            bool salaried = bool.Parse(hdfSalaried.Value); ;
            string eMail =  hdfMail.Value;
            bool assignableSrs = bool.Parse(hdfAssignableSrs.Value);
            bool inDataBase = false;
            string jobClass = ddlJobClassType.SelectedValue;
            string category = ddlCategory.SelectedValue;
            bool isVacationsManager = ckbxVacationsManager.Checked;
            string personalAgency = ddlPersonalAgency.SelectedValue;
            bool approveTimesheets = ckbxApproveTimesheets.Checked;
            decimal? bourdenFactor = null;
            decimal? usHealthBenefitFactor = null;
            decimal? benefitFactorCad = null;
            decimal? benefitFactorUsd = null;

            int newEmployeeId = 0;
            EmployeeAdd model = new EmployeeAdd(employeesAddTDS);
            newEmployeeId = model.Insert(loginId, contactsId, fullName, firstName, middleInitial, lastName, type, state, isSalesman, requestProjectTime, deleted, salaried, eMail, assignableSrs, inDataBase, jobClass, category, personalAgency, isVacationsManager, approveTimesheets, bourdenFactor, usHealthBenefitFactor, benefitFactorCad, benefitFactorUsd);

            // Add type history
            if (contactsId.HasValue)
            {
                EmployeeAddTypeHistory modelEmployeeAddTypeHistory = new EmployeeAddTypeHistory(employeesAddTDS);
                modelEmployeeAddTypeHistory.Insert(newEmployeeId, DateTime.Now, type, deleted, companyId, false);
            }

            // Store session
            Session["employeesAddTDS"] = employeesAddTDS;
        }