예제 #1
0
    protected void btnRealizarAplicacion_Click(object sender, System.EventArgs e)
    {
        Pagos     objPago = new Pagos();
        DataTable dtProductoARealizarPago = new DataTable();
        DataTable ConsultarIdPagos        = new DataTable();
        double    pago         = 0;
        double    valorAplicar = 0;

        if (dtConsultarDevolucionDePrima.Rows.Count > 0)
        {
            //Cambio de de campo reversion
            foreach (int id in listInsertarPagoDevolucion)
            {
                AdministrarDevolucionDePrima.ActualizarReversionYBorradoDeAplicacion(id, 0);
            }

            //Recorrer el GridView para identificar las filas que fueron seleccionadas
            for (int i = 0; i < listInsertarPagoDevolucion.Count; i++)
            {
                int id = int.Parse(listInsertarPagoDevolucion.ElementAt(i).ToString());

                DataTable dtAplicacionADevolver = new DataTable();
                dtAplicacionADevolver = AdministrarDevolucionDePrima.ConsultarAplicacionPagoPorId(id);

                if (dtAplicacionADevolver.Rows.Count > 0)
                {
                    int eliminados = AdministrarDevolucionDePrima.EliminarAplicacionPagoPorId(id);

                    pago = double.Parse(dtAplicacionADevolver.Rows[0]["aplPago_Valor"].ToString());

                    while (pago > 0)
                    {
                        if (listBandera.ElementAt(i).ToString() == "1")
                        {
                            dtProductoARealizarPago = objPago.ConsultarProductoParaPago(int.Parse(dtAplicacionADevolver.Rows[0]["ter_Id"].ToString()), int.Parse(listConvenio.ElementAt(i).ToString()));         //Consulta el producto para pago (script Mauro)
                        }
                        else
                        {
                            dtProductoARealizarPago = AdministrarDevolucionDePrima.ConsultarProductoParaPagoPorProducto(double.Parse(dtAplicacionADevolver.Rows[0]["ter_Id"].ToString()), int.Parse(ddlConvenio.SelectedValue), int.Parse(ddlProducto.SelectedValue));         //Consulta el producto para pago (script Mauro)
                        }
                        // Se debe realizar la aplicacion de los pagos
                        valorAplicar = double.Parse(dtProductoARealizarPago.Rows[0]["VALOR APLICAR"].ToString());
                        if (pago < double.Parse(dtProductoARealizarPago.Rows[0]["VALOR APLICAR"].ToString()))
                        {
                            valorAplicar = pago;
                        }
                        objPago.IngresarAplicacionPagoCliente(double.Parse(dtAplicacionADevolver.Rows[0]["ter_Id"].ToString()),
                                                              int.Parse(dtAplicacionADevolver.Rows[0]["pago_Id"].ToString()),
                                                              int.Parse(dtProductoARealizarPago.Rows[0]["pro_Id"].ToString()),
                                                              Convert.ToDateTime(dtProductoARealizarPago.Rows[0]["VIGENCIA APLICAR"].ToString()), 0, valorAplicar,
                                                              int.Parse(ddlConvenio.SelectedValue), 0, double.Parse(dtAplicacionADevolver.Rows[0]["pago_Recibo"].ToString()), double.Parse(dtProductoARealizarPago.Rows[0]["CER_ID"].ToString())); //Inserta el pago en tabla NewAplicacionPago
                        pago -= double.Parse(dtProductoARealizarPago.Rows[0]["VALOR APLICAR"].ToString());
                    }
                }
            }
            //Se vuelven a listar estas posibles devoluciones excluyendo las que se unificaron
            dtConsultarDevolucionDePrima      = AdministrarDevolucionDePrima.ConsultarDevolucionDePrimaDocumento(double.Parse(txtCedula.Text), int.Parse(ddlProducto.SelectedValue.ToString()));
            grvDevolucionesDePrima.DataSource = dtConsultarDevolucionDePrima;
            grvDevolucionesDePrima.DataBind();

            if (dtConsultarDevolucionDePrima.Rows.Count == 0)
            {
                txtValorDevolucion.Visible    = false;
                btnGuardarDevolucion.Visible  = false;
                lblValorDevolucion.Visible    = false;
                btnRealizarAplicacion.Visible = false;
            }
        }
    }