public void modificarTipoExtraLiquidacion(TipOExtraLiquidAcIon tipoExtra)
        {
            try
            {
                TipOExtraLiquidAcIon tipoEvento = (from reg in database.TipOExtraLiquidAcIon
                                                   where reg.IDTipoExtraLiquidacion == tipoExtra.IDTipoExtraLiquidacion
                                                   select reg).Single<TipOExtraLiquidAcIon>();
                tipoEvento.Nombre = tipoExtra.Nombre;
                tipoEvento.Activo = tipoExtra.Activo;
                tipoEvento.LlevaHs = tipoExtra.LlevaHs;
                tipoEvento.AceptaPorcentaje = tipoExtra.AceptaPorcentaje;

                database.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (txtNombre.Text != "")
            {
                try
                {
                    int numFila = 0;
                    while (dgvTipoExtrasLiquidacion.RowCount > numFila && lblIdTipoExtra.Text != dgvTipoExtrasLiquidacion.Rows[numFila].Cells["idTipoExtraLiquidacion"].Value.ToString())
                    {
                        numFila++;
                    }
                    if (numFila != dgvTipoExtrasLiquidacion.RowCount)
                    {

                        TipOExtraLiquidAcIon te = new TipOExtraLiquidAcIon();
                        te.IDTipoExtraLiquidacion= byte.Parse(lblIdTipoExtra.Text);
                        te.Nombre = txtNombre.Text;
                        te.LlevaHs = (cmbLlevaHs.Checked ? (sbyte)1 : (sbyte)0);
                        te.Activo = (cbEstado.Checked ? (sbyte)0 : (sbyte)1);
                        te.AceptaPorcentaje = (cbPorcentaje.Checked ? (sbyte)1 : (sbyte)0);
                        // Modifica el valor en la base de datos
                        tipos.modificarTipoExtraLiquidacion(te);

                        dgvTipoExtrasLiquidacion.Rows[numFila].Cells["Nombre"].Value = txtNombre.Text;
                        dgvTipoExtrasLiquidacion.Rows[numFila].Cells["Activa"].Value = !cbEstado.Checked;
                        dgvTipoExtrasLiquidacion.Rows[numFila].Cells["LlevaHs"].Value = cmbLlevaHs.Checked;
                        dgvTipoExtrasLiquidacion.Rows[numFila].Cells["AceptaPorcentaje"].Value = cbPorcentaje.Checked;
                        btnAgregar.Enabled = true;
                        btnGuardar.Enabled = false;
                        limpiarForm();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
                MessageBox.Show(this, LlenarCamposObligatorios, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        public int altaTipoExtraLiquidacion(string nombreTipoExtra, bool activo, bool llevaHs, bool AceptaPorcentaje)
        {
            try
            {
                TipOExtraLiquidAcIon tipoExtra = new TipOExtraLiquidAcIon();

                tipoExtra.Nombre = nombreTipoExtra;
                tipoExtra.Activo = (activo ? (sbyte)1:(sbyte)0);
                tipoExtra.LlevaHs = (llevaHs ? (sbyte)1 : (sbyte)0);
                tipoExtra.AceptaPorcentaje = (AceptaPorcentaje ? (sbyte)1 : (sbyte)0);
                
                    
                database.TipOExtraLiquidAcIon.InsertOnSubmit(tipoExtra);
                database.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);

                return tipoExtra.IDTipoExtraLiquidacion;

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }