private void anula()
        {
            if (MessageBox.Show("Desea Eliminar este registro permanentemente ?", "Mensaje del Sistema", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
            {
                var retorno = false;
                var BL = new tb_plla_turnoscabBL();
                var BE = new tb_plla_turnoscab();
                BE.cdiario = txtCodigo.Text.Trim();
                retorno = BL.Delete(VariablesPublicas.EmpresaID, BE);

                if (retorno)
                {
                    _accion = AccionEnum.Eliminar;
                    EnabledTool(true);
                    if (sw == 0)
                    {
                        BindingData(false);
                    }
                    if (sw == 1)
                    {
                        BindingData(true);
                    }
                }
                else
                {
                    MessageBox.Show("Hubo problemas al eliminar !!", "Mensaje del Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
        private void BindingData(bool Binding)
        {
            if (Binding)
            {
                sw = 0;
                var LcFilaAct = -1;
                if ((dgRubroGastos != null))
                {
                    if (dgRubroGastos.Rows.Count > 0)
                    {
                        if (dgRubroGastos.CurrentRow == null)
                        {
                            LcFilaAct = 0;
                        }
                        else
                        {
                        }
                    }
                }

                dgRubroGastos.AutoGenerateColumns = false;
                var BL = new tb_plla_turnoscabBL();
                var BE = new tb_plla_turnoscab();
                BE.norden = 1;
                _Cabeceratabla = BL.GetAll_CONSULTA(VariablesPublicas.EmpresaID, BE).Tables[0];
                _Cabeceratabla.Columns[0].ReadOnly = true;
                _Cabeceratabla.AcceptChanges();
                dgRubroGastos.DataSource = _Cabeceratabla;

                gpCabecera.Enabled = false;
                gbDetalle.Enabled = true;
                try
                {
                    if (LcFilaAct >= 0 & dgRubroGastos.Rows.Count > 0)
                    {
                    }
                }
                catch
                {
                }
            }
            else
            {
                sw = 1;
                txtNombre.DataBindings.Clear();
                txtHoraInicio.DataBindings.Clear();
                ckInactivo.DataBindings.Clear();
                txtHoraFin.DataBindings.Clear();
                txtTotalHoras.DataBindings.Clear();
                txtTotalMinutos.DataBindings.Clear();
                txtCodigo.DataBindings.Clear();
                gpCabecera.Enabled = true;
            }
        }
 private void Save()
 {
     var retorno = false;
     decimal totminutos = 0;
     var estado = 0;
     txtCodigo.Text.Trim();
     if (ckInactivo.Checked == true)
     {
         estado = 1;
     }
     else
     {
         estado = 0;
     }
     if (txtTotalMinutos.Text.Trim() == string.Empty)
     {
         totminutos = 0;
     }
     else
     {
         totminutos = Convert.ToDecimal(txtTotalMinutos.Text);
     }
     var BL = new tb_plla_turnoscabBL();
     var BE = new tb_plla_turnoscab();
     BE.cdiario = txtCodigo.Text.Trim();
     BE.descripcion = txtNombre.Text.Trim();
     BE.horaini = txtHoraInicio.Text.Trim();
     BE.horafin = txtHoraFin.Text.Trim();
     BE.tothor = txtTotalHoras.Text.Trim();
     BE.totmin = totminutos;
     BE.status = estado;
     BE.Tipo_Actualizacion = 1;
     switch (_accion)
     {
         case AccionEnum.Save:
             retorno = BL.Insert_Update(VariablesPublicas.EmpresaID, BE, _Cabeceratabla, _Detalletabla);
             break;
         case AccionEnum.Actualizar:
             retorno = BL.Insert_Update(VariablesPublicas.EmpresaID, BE, _Cabeceratabla, _Detalletabla);
             break;
     }
     if (retorno)
     {
         MessageBox.Show("Los Datos se guardaron perfectamente");
         _accion = AccionEnum.Eliminar;
         EnabledTool(true);
         GroupBox(false);
         if (sw == 1)
         {
             BindingData(true);
         }
         txtCodigo.Enabled = true;
     }
     else
     {
     }
 }
        private void POnedatos()
        {
            Blanquear();
            if ((dgRubroGastos.CurrentRow != null))
            {
                txtCodigo.Text = dgRubroGastos.Rows[dgRubroGastos.CurrentRow.Index].Cells["CODIGO"].Value.ToString();
                txtNombre.Text = dgRubroGastos.Rows[dgRubroGastos.CurrentRow.Index].Cells["DESCRIPCION"].Value.ToString();
                ckInactivo.Checked = Convert.ToInt32(dgRubroGastos.Rows[dgRubroGastos.CurrentRow.Index].Cells["inactivo"].Value) == 1;
                txtHoraInicio.Text = dgRubroGastos.Rows[dgRubroGastos.CurrentRow.Index].Cells["Hora_inicial"].Value.ToString().Trim();
                txtHoraFin.Text = dgRubroGastos.Rows[dgRubroGastos.CurrentRow.Index].Cells["Hora_final"].Value.ToString().Trim();
                txtTotalHoras.Text = dgRubroGastos.Rows[dgRubroGastos.CurrentRow.Index].Cells["Total_horas"].Value.ToString();
                txtTotalMinutos.Text = dgRubroGastos.Rows[dgRubroGastos.CurrentRow.Index].Cells["Total_minutos"].Value.ToString();

                var BL = new tb_plla_turnoscabBL();
                var BE = new tb_plla_turnoscab();
                BE.cdiario = txtCodigo.Text.Trim();
                _Detalletabla = BL.GetAll_GetAllCONSULTA(VariablesPublicas.EmpresaID, BE).Tables[0];
                _Detalletabla.Columns["des_evento"].ReadOnly = false;
                dgIngresos.AutoGenerateColumns = false;
                dgIngresos.DataSource = _Detalletabla;
            }
        }
        private void btNuevo_Click(object sender, EventArgs e)
        {
            _Detalletabla = (DataTable)dgIngresos.DataSource;
            if (_Detalletabla == null)
            {
                var BL = new tb_plla_turnoscabBL();
                var BE = new tb_plla_turnoscab();
                BE.cdiario = txtCodigo.Text.Trim();
                _Detalletabla = BL.GetAll_GetAllCONSULTA(VariablesPublicas.EmpresaID, BE).Tables[0];
                _Detalletabla.Columns["des_evento"].ReadOnly = false;
            }
            var fila = _Detalletabla.NewRow();
            var item = 0;
            var desde = string.Empty;
            var hasta = string.Empty;
            desde = Convert.ToString("00:00");
            hasta = Convert.ToString("00:00");

            item = MaximoItem();
            fila[0] = txtCodigo.Text.Trim();
            fila[1] = VariablesPublicas.FormateaNumeroaCadena2(Convert.ToString(item), 2, '0', true);
            fila[2] = string.Empty;
            fila[3] = string.Empty;
            fila[4] = desde;
            fila[5] = hasta;
            fila[6] = string.Empty;
            fila[7] = 0;

            _Detalletabla.Rows.Add(fila);
            _Detalletabla.AcceptChanges();

            dgIngresos.AutoGenerateColumns = false;

            _Detalletabla.Columns[0].AllowDBNull = true;
            _Detalletabla.Columns[1].AllowDBNull = true;
            _Detalletabla.Columns[2].AllowDBNull = true;
            _Detalletabla.Columns[3].AllowDBNull = true;
            _Detalletabla.Columns[4].AllowDBNull = true;
            _Detalletabla.Columns[5].AllowDBNull = true;
            _Detalletabla.Columns[6].AllowDBNull = true;
            _Detalletabla.Columns[7].AllowDBNull = true;
            _Detalletabla.Columns["des_evento"].ReadOnly = false;
            _Detalletabla.AcceptChanges();
            dgIngresos.DataSource = _Detalletabla;
            var l_ubica = 0;
            for (l_ubica = 0; l_ubica <= dgIngresos.Rows.Count - 1; l_ubica++)
            {
                if (Convert.ToInt32(item) == Convert.ToInt32(dgIngresos.Rows[l_ubica].Cells[0].Value))
                {
                    dgIngresos.CurrentCell = dgIngresos.Rows[l_ubica].Cells[1];
                    dgIngresos.BeginEdit(true);
                    break;
                }
            }
        }