/// <summary> /// Evento Producido al Presionar el Boton "Recibir" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnRecibir_Click(object sender, EventArgs e) { //Obteniendo Filas Seleccionadas GridViewRow[] gvFilasSeleccionadas = TSDK.ASP.Controles.ObtenerFilasSeleccionadas(gvReporteFacturas, "chkVarios"); //Validando que haya Filas Seleccionadas if (gvFilasSeleccionadas.Length > 0) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Declarando Variables Auxiliares bool res = true; int contador = 0; //Iniciando Ciclo while (res) { //Obteniendo Indice gvReporteFacturas.SelectedIndex = gvFilasSeleccionadas[contador].RowIndex; //Instanciando Factura using (SAT_CL.CXP.FacturadoProveedor fp = new SAT_CL.CXP.FacturadoProveedor(Convert.ToInt32(gvReporteFacturas.SelectedDataKey["IdFactura"]))) { //Validando que exista la Factura if (fp.id_factura != 0) { //Deshabilitando Factura result = fp.EntregaFacturaProveedor(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Incrementando Conatdor contador++; //Obteniendo resultado res = contador >= gvFilasSeleccionadas.Length ? false : result.OperacionExitosa; } else//Terminando Ciclo { res = false; } } } //validando que la Operación haya sido Exitosa if (result.OperacionExitosa) { //Completando Transacción trans.Complete(); } } //Validando la Operación if (result.OperacionExitosa) { //Cargando reporte cargaReporteFacturas(); } //Mostrando Mensaje de la Operación lblError.Text = result.Mensaje; } else//Mostrando Mensaje de Error { lblError.Text = "No existen filas Seleccionadas"; } }
/// <summary> /// Realiza el rechazo de un pago programado a una factura de proveedor /// </summary> /// <param name="razon_rechazo">Razón del rechazo</param> /// <param name="id_usuario">Id de usuario que rechaza</param> /// <returns></returns> public RetornoOperacion RechazaPagoFacturaProveedor(string razon_rechazo, int id_usuario) { //Declarando objeto de resultado RetornoOperacion resultado = new RetornoOperacion(); //Validando que sea una aplicación de factura de proveedor if (this._id_tabla == 72) { //Inicializando Bloque using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Deshabilitando Aplicación resultado = DeshabilitarFichaIngresoAplicacion(id_usuario); //Validando que la Operación fuese Exitosa if (resultado.OperacionExitosa) { //Instanciando Factura de Proveedor using (SAT_CL.CXP.FacturadoProveedor fp = new SAT_CL.CXP.FacturadoProveedor(this._id_registro)) { //Validando que existe la Factura if (fp.id_factura > 0) { //Actualizando la Factura resultado = fp.ActualizaEstatusFacturadoProveedor(fp.ObtieneEstatusFacturaAplicada(), id_usuario); //Validando que se haya Actualizado Exitosamente if (resultado.OperacionExitosa) { //Registrando razón de rechazo resultado = SAT_CL.Global.Referencia.InsertaReferencia(this._id_ficha_ingreso_aplicacion, 103, Global.ReferenciaTipo.ObtieneIdReferenciaTipo(fp.id_compania_receptor, 103, "Razón Rechazo", 0, "Datos Contables"), razon_rechazo, Fecha.ObtieneFechaEstandarMexicoCentro(), id_usuario); //Si no hay errores en el registro de razón de rechazo if (resultado.OperacionExitosa) { //Completando Transacción trans.Complete(); } else { resultado = new RetornoOperacion("Error al actualizar razón de rechazo."); } } else { resultado = new RetornoOperacion("Error al actualizar estatus de Factura de Proveedor."); } } else { resultado = new RetornoOperacion("Error al localizar factura de proveedor."); } } } else { resultado = new RetornoOperacion(string.Format("Error al deshabilitar la aplicación de pago: {0}", resultado.Mensaje)); } } } else { resultado = new RetornoOperacion("Esta aplicación de pago no corresponde a una Factura de Proveedor."); } //Devolviendo resultado return(resultado); }