public bool Update_ControlPresupuestal(ControlPresupuestal_VO pControlPresupuestal, SqlTransaction TransControlPresupuestal)
        {
            bool b_ControlPresupuestal;
            try
            {

                SqlCommand cmdComand = new SqlCommand("USP_U_SICOP_CONTROLPRESUPUESTAL");
                cmdComand.CommandType = System.Data.CommandType.StoredProcedure;
                cmdComand.Connection = TransControlPresupuestal.Connection;
                cmdComand.Transaction = TransControlPresupuestal;
                cmdComand.Parameters.Clear();
                cmdComand.Parameters.AddWithValue("@CPRE_INT_IDCONTROLPRESUPUESTAL", pControlPresupuestal.CPRE_INT_IDCONTROLPRESUPUESTAL);
                cmdComand.Parameters.AddWithValue("@EGAS_VCH_IDESPECIFICADEGASTO", pControlPresupuestal.EGAS_VCH_IDESPECIFICADEGASTO);
                cmdComand.Parameters.AddWithValue("@DOCU_INT_IDDOCUMENTO", pControlPresupuestal.DOCU_INT_IDDOCUMENTO);
                cmdComand.Parameters.AddWithValue("@CPRE_VCH_NRODOCUMENTO", pControlPresupuestal.CPRE_VCH_NRODOCUMENTO);
                cmdComand.Parameters.AddWithValue("@CPRE_DAT_FECHAINGRESO", pControlPresupuestal.CPRE_DAT_FECHAINGRESO);
                cmdComand.Parameters.AddWithValue("@CPRE_VCH_NROCOMPROBANTEPAGO", pControlPresupuestal.CPRE_VCH_NROCOMPROBANTEPAGO);
                cmdComand.Parameters.AddWithValue("@CPRE_VCH_NROSIAF", pControlPresupuestal.CPRE_VCH_NROSIAF);
                cmdComand.Parameters.AddWithValue("@CPRE_DAT_FECHAGIRO", pControlPresupuestal.CPRE_DAT_FECHAGIRO);
                cmdComand.Parameters.AddWithValue("@CPRE_DAT_FECHAPAGO", pControlPresupuestal.CPRE_DAT_FECHAPAGO);
                cmdComand.Parameters.AddWithValue("@CPRE_VCH_CONCEPTOESPECIFICADEGASTO", pControlPresupuestal.CPRE_VCH_CONCEPTOESPECIFICADEGASTO);
                cmdComand.Parameters.AddWithValue("@CPRE_VCH_DETALLEESPECIFICADEGASTO", pControlPresupuestal.CPRE_VCH_DETALLEESPECIFICADEGASTO);
                cmdComand.Parameters.AddWithValue("@CPRE_VCH_PARTIDACONTABLE", pControlPresupuestal.CPRE_VCH_PARTIDACONTABLE);
                b_ControlPresupuestal = cmdComand.ExecuteNonQuery() > 0;

            }
            catch (Exception e)
            {
                if (e.Source != null)
                    Console.WriteLine("IOException source: {0}", e.Source);
                throw;
            }
            return b_ControlPresupuestal;
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("¿Guardar el Registro?", "Control Presupuestal", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                ControlPresupuestal_VO pControlPresupuestal = new ControlPresupuestal_VO();
                pControlPresupuestal = this.prcGetControlPresupuestal();

                DataTable DtDetalleControlPresupuestal = new DataTable();
                DtDetalleControlPresupuestal = this.prcGetDetalleControlPresupuestal();

                if (Nuevo == true)
                {
                    if (new ControlPresupuestal_BUS().Insert_ControlPresupuestal(ref pControlPresupuestal, DtDetalleControlPresupuestal))
                    {
                        this.txtId.Text = pControlPresupuestal.CPRE_INT_IDCONTROLPRESUPUESTAL.ToString();
                        prcCargaControlPrespuestal();
                    }
                    else
                    {
                        MessageBox.Show("Error al guardar Registro");
                    }

                }
                else
                {

                    if (new ControlPresupuestal_BUS().Update_ControlPresupuestal(pControlPresupuestal, DtDetalleControlPresupuestal))
                    {

                        prcCargaControlPrespuestal();

                    }
                    else
                    {
                        MessageBox.Show("Error al guardar Registro");
                    }
                }
                WinForm.pfActiveControl(this, false);
                prcActiveButton(true, true);
               this.dgvControlPresupuestal.Enabled = true;
            }
        }
 public bool Delete_DetalleControlPresupuestal(ControlPresupuestal_VO pControlPresupuestal, SqlTransaction TransDetalleControlPresupuestal)
 {
     bool b_DetalleControlPresupuestal;
     try
     {
         SqlCommand cmdComand = new SqlCommand("USP_D_SICOP_DETALLECONTROLPRESUPUESTAL");
         cmdComand.CommandType = System.Data.CommandType.StoredProcedure;
         cmdComand.Connection = TransDetalleControlPresupuestal.Connection;
         cmdComand.Transaction = TransDetalleControlPresupuestal;
         cmdComand.Parameters.Clear();
         cmdComand.Parameters.AddWithValue("@CPRE_INT_IDCONTROLPRESUPUESTAL", pControlPresupuestal.CPRE_INT_IDCONTROLPRESUPUESTAL);
         b_DetalleControlPresupuestal = cmdComand.ExecuteNonQuery() > 0;
     }
     catch (Exception e)
     {
         if (e.Source != null)
             Console.WriteLine("IOException source: {0}", e.Source);
         throw;
     }
     return b_DetalleControlPresupuestal;
 }
        private ControlPresupuestal_VO prcGetControlPresupuestal()
        {
            ControlPresupuestal_VO pControlPresupuestal = new ControlPresupuestal_VO();
            pControlPresupuestal.CPRE_INT_IDCONTROLPRESUPUESTAL = Convert.ToInt32(this.txtId.Text); ;
            pControlPresupuestal.DOCU_INT_IDDOCUMENTO = Convert.ToInt32(cmbDocumentos.SelectedValue);
            pControlPresupuestal.CPRE_VCH_NRODOCUMENTO = txtNroDoc.Text;
            pControlPresupuestal.CPRE_DAT_FECHAINGRESO = dtpFechaIngreso.Value;
            pControlPresupuestal.CPRE_VCH_NROCOMPROBANTEPAGO = txtComprobante.Text;
            pControlPresupuestal.CPRE_VCH_NROSIAF = txtSIAF.Text;
            pControlPresupuestal.CPRE_DAT_FECHAGIRO = dtpFechaGiro.Value;
            pControlPresupuestal.CPRE_DAT_FECHAPAGO = dtpFechaPago.Value;
            pControlPresupuestal.CPRE_VCH_PARTIDACONTABLE = txtPartidaContable.Text;
            pControlPresupuestal.CPRE_VCH_CONCEPTOESPECIFICADEGASTO = this.txtConcepto.Text;
            pControlPresupuestal.CPRE_VCH_DETALLEESPECIFICADEGASTO = this.txtDetalle.Text;
            pControlPresupuestal.EGAS_VCH_IDESPECIFICADEGASTO = this.cmbEspecificaDeGasto.SelectedValue.ToString();

            return pControlPresupuestal;
        }
        public bool Update_ControlPresupuestal(ControlPresupuestal_VO pControlPresupuestal, DataTable DtDetalleControlPresupuestal)
        {
            SqlConnection sqlConection = null;
            SqlTransaction TransControlPresupuestal = null;
            bool b_ControlPresupuestal = false;
            bool b_DetalleControlP = false;
            bool b_DeleteDetalleControlP = false;
            try
            {
                sqlConection = new SqlConnection(BEConexion.vg_strCadenaConexion);
                sqlConection.Open();
                TransControlPresupuestal = sqlConection.BeginTransaction();
                if (pControlPresupuestal != null)
                {
                    b_DeleteDetalleControlP = new DetalleControlPresupuestal_DAL().Delete_DetalleControlPresupuestal(pControlPresupuestal, TransControlPresupuestal);
                    if (b_DeleteDetalleControlP)
                    {
                        b_ControlPresupuestal = new ControlPresupuestal_DAL().Update_ControlPresupuestal(pControlPresupuestal, TransControlPresupuestal);
                        if (b_ControlPresupuestal)
                        {
                            int intDetalleCount = 0;
                            foreach (DataRow dtRow in DtDetalleControlPresupuestal.Rows)
                            {
                                DetalleControlPresupuestal_VO pDetalleControlPresupuestal = new DetalleControlPresupuestal_VO();
                                pDetalleControlPresupuestal.CPRE_INT_IDCONTROLPRESUPUESTAL = pControlPresupuestal.CPRE_INT_IDCONTROLPRESUPUESTAL;
                                pDetalleControlPresupuestal.EGAS_VCH_IDESPECIFICADEGASTO = pControlPresupuestal.EGAS_VCH_IDESPECIFICADEGASTO;
                                pDetalleControlPresupuestal.DCPR_DEC_IMPORTE = Convert.ToDecimal(dtRow["DCPR_DEC_IMPORTE"]);
                                pDetalleControlPresupuestal.META_VCH_IDMETA = dtRow["META_VCH_IDMETA"].ToString();
                                if (new DetalleControlPresupuestal_DAL().Insert_DetalleControlPresupuestal(pDetalleControlPresupuestal, TransControlPresupuestal))
                                {
                                    intDetalleCount++;
                                }
                            }
                            b_DetalleControlP = (intDetalleCount == DtDetalleControlPresupuestal.Rows.Count);
                        }
                    }

                }
                if (b_ControlPresupuestal && b_DetalleControlP && b_DeleteDetalleControlP)
                {
                    TransControlPresupuestal.Commit();

                }
                else
                {
                    TransControlPresupuestal.Rollback();
                }
            }

            catch (Exception exception)
            {
                if (TransControlPresupuestal != null)
                    TransControlPresupuestal.Rollback();
                return false;
            }
            finally
            {
                if (sqlConection != null)
                {
                    sqlConection.Close();
                }
                sqlConection.Dispose();

            }
            return b_ControlPresupuestal;
        }