Beispiel #1
0
        /// <summary>
        /// Deshabilita la relación Egreso/Ingreso - CFDI de Pagos, así como los Documentos Relacionados
        /// </summary>
        /// <param name="id_egreso_ingreso_comprobante">Id de Realción Egreso/Ingreso CFDI de Pago</param>
        /// <param name="id_usuario">Id de Usuario que realiza la operación</param>
        /// <returns></returns>
        public static RetornoOperacion DeshabilitaEgresoIngresoComprobante(int id_egreso_ingreso_comprobante, int id_usuario)
        {
            //Declarando objeto de retorno
            RetornoOperacion resultado = new RetornoOperacion(string.Format("Error al Deshabilitar relación Egreso/Ingreso - CFDI. Id: '{0}'", id_egreso_ingreso_comprobante));

            //Realizando transacción
            using (TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Instanciando Registro
                using (EgresoIngresoComprobante eic = new EgresoIngresoComprobante(id_egreso_ingreso_comprobante))
                {
                    //Si el registro existe
                    if (eic.habilitar)
                    {
                        //Deshabilitando
                        resultado = eic.DeshabilitaEgresoIngresoComprobante(id_usuario);
                        //Si no hay errores
                        if (resultado.OperacionExitosa)
                        {
                            //Deshabilitando relaciones de CFDI (documentos relacionados)
                            resultado = ComprobantePagoDocumentoRelacionado.DeshabilitarDocumentosRelacionadosIngresoEgresoComprobantePago(eic.id_egreso_ingreso_comprobante, id_usuario);
                        }
                    }
                }
                //Si no hay errores
                if (resultado.OperacionExitosa)
                {
                    //Confirmando cambios realizados
                    scope.Complete();
                }
            }
            //Devolviendo resultado
            return(resultado);
        }
Beispiel #2
0
        /// <summary>
        /// Realiza la búsqueda y determina que comprobante (CFDI de Recepción de Pagos) activo corresponde al egreso o ingreso
        /// </summary>
        /// <param name="id_egreso_ingreso">Id de Egreso / Ingreso</param>
        /// <returns></returns>
        public static EgresoIngresoComprobante ObtieneComprobanteActivoEgresoIngreso(int id_egreso_ingreso)
        {
            //Declarando objeto predeterminado
            EgresoIngresoComprobante obj = null;

            //Definiendo conjunto de valores para realizar la busqueda desde el SP
            object[] param = { 4, 0, id_egreso_ingreso, 0, 0, 0, 0, 0, true, "", "" };
            //Realizando búsqueda
            using (DataSet ds = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoDataSet(_nom_sp, param))
            {
                //Si hay resultados
                if (Validacion.ValidaOrigenDatos(ds, "Table"))
                {
                    //Se crea objeto
                    obj = new EgresoIngresoComprobante();
                    //Se asignan atributos del mismo
                    obj._id_egreso_ingreso_comprobante = Convert.ToInt32(ds.Tables["Table"].Rows[0]["Id"]);
                    obj._id_egreso_ingreso             = Convert.ToInt32(ds.Tables["Table"].Rows[0]["IdEgresoIngreso"]);
                    obj._id_comprobante_pago           = Convert.ToInt32(ds.Tables["Table"].Rows[0]["IdComprobantePago"]);
                    obj._id_tipo_operacion             = Convert.ToByte(ds.Tables["Table"].Rows[0]["IdTipoOperacion"]);
                    obj._id_estatus = Convert.ToByte(ds.Tables["Table"].Rows[0]["IdEstatus"]);
                    obj._id_egreso_ingreso_comprobante_reemplazado = Convert.ToInt32(ds.Tables["Table"].Rows[0]["IdEgresoIngresoComprobanteReemplazado"]);
                    obj._habilitar = Convert.ToBoolean(ds.Tables["Table"].Rows[0]["Habilitar"]);
                }
            }
            //Devolviendo objeto resultante
            return(obj);
        }