public DataSet GetListDetalle_Factura(ClsDetalle_Factura detalle_Factura, String pACCION)
        {
            DataSet DtsDetalle_Factura = new DataSet();

            try
            {
                AbrirBaseDatos();
                DtsDetalle_Factura.Clear();
                DtsDetalle_Factura.EnforceConstraints = false;
                Cmd             = new OracleCommand();
                Cmd.Connection  = conexion;
                Cmd.CommandText = "package_supermercados.stp_detalle_Factura";
                Cmd.CommandType = CommandType.StoredProcedure;
                Cmd.Parameters.Add(new OracleParameter("p_id_empresa", OracleDbType.Varchar2)).Value     = detalle_Factura.aID_EMPRESA;
                Cmd.Parameters.Add(new OracleParameter("p_id_sucursal", OracleDbType.Varchar2)).Value    = detalle_Factura.aID_SUCURSAL;
                Cmd.Parameters.Add(new OracleParameter("p_num_linea", OracleDbType.Int32)).Value         = detalle_Factura.aNUM_LINEA;
                Cmd.Parameters.Add(new OracleParameter("p_factura", OracleDbType.Int32)).Value           = detalle_Factura.aFACTURA;
                Cmd.Parameters.Add(new OracleParameter("p_articulo", OracleDbType.Varchar2)).Value       = detalle_Factura.aARTICULO;
                Cmd.Parameters.Add(new OracleParameter("p_cantidad", OracleDbType.Int32)).Value          = detalle_Factura.aCANTIDAD;
                Cmd.Parameters.Add(new OracleParameter("p_impuesto", OracleDbType.Int32)).Value          = detalle_Factura.aIMPUESTO;
                Cmd.Parameters.Add(new OracleParameter("p_descuento", OracleDbType.Int32)).Value         = detalle_Factura.aDESCUENTO;
                Cmd.Parameters.Add(new OracleParameter("p_total", OracleDbType.Int32)).Value             = detalle_Factura.aTOTAL;
                Cmd.Parameters.Add(new OracleParameter("p_accion", OracleDbType.Varchar2)).Value         = pACCION;
                Cmd.Parameters.Add(new OracleParameter("p_recordset", OracleDbType.RefCursor)).Direction = ParameterDirection.Output;
                OracleDataAdapter DataAdapter = new OracleDataAdapter(Cmd);
                DataAdapter.Fill(DtsDetalle_Factura);
                cerrar_base();
            }
            catch (Exception Ex)
            {
                cerrar_base();
                throw new Exception(Ex.Message);
            }
            return(DtsDetalle_Factura);
        }
        public String MaintenanceDetalle_Factura(ClsDetalle_Factura detalle_Factura, String pACCION)
        {
            String Menssage = "";

            try
            {
                Cmd            = new OracleCommand();
                Cmd.Connection = conexion;
                AbrirBaseDatos();
                Cmd.CommandText = "package_supermercados.stp_mantenimiento_detalle_Factura";
                Cmd.CommandType = CommandType.StoredProcedure;
                Cmd.Parameters.Add(new OracleParameter("p_id_empresa", OracleDbType.Varchar2)).Value     = detalle_Factura.aID_EMPRESA;
                Cmd.Parameters.Add(new OracleParameter("p_id_sucursal", OracleDbType.Varchar2)).Value    = detalle_Factura.aID_SUCURSAL;
                Cmd.Parameters.Add(new OracleParameter("p_num_linea", OracleDbType.Int32)).Value         = detalle_Factura.aNUM_LINEA;
                Cmd.Parameters.Add(new OracleParameter("p_factura", OracleDbType.Int32)).Value           = detalle_Factura.aFACTURA;
                Cmd.Parameters.Add(new OracleParameter("p_articulo", OracleDbType.Varchar2)).Value       = detalle_Factura.aARTICULO;
                Cmd.Parameters.Add(new OracleParameter("p_cantidad", OracleDbType.Int32)).Value          = detalle_Factura.aCANTIDAD;
                Cmd.Parameters.Add(new OracleParameter("p_impuesto", OracleDbType.Int32)).Value          = detalle_Factura.aIMPUESTO;
                Cmd.Parameters.Add(new OracleParameter("p_descuento", OracleDbType.Int32)).Value         = detalle_Factura.aDESCUENTO;
                Cmd.Parameters.Add(new OracleParameter("p_total", OracleDbType.Int32)).Value             = detalle_Factura.aTOTAL;
                Cmd.Parameters.Add(new OracleParameter("p_accion", OracleDbType.Varchar2)).Value         = pACCION;
                Cmd.Parameters.Add(new OracleParameter("p_recordset", OracleDbType.RefCursor)).Direction = ParameterDirection.Output;
                Cmd.ExecuteNonQuery();
                Menssage = "Ejecutado con exito";

                cerrar_base();
            }
            catch (Exception Ex)
            {
                Menssage = Ex.Message;
                cerrar_base();
                throw new Exception(Ex.Message);
            }
            return(Menssage);
        }