/// <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); }
/// <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); }