Example #1
0
 /// <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";
     }
 }
Example #2
0
        /// <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);
        }