예제 #1
0
    protected void btnEnviarSinAplicar_Click(object sender, System.EventArgs e)
    {
        AdministrarCertificados objAdministrarCertificados = new AdministrarCertificados();
        DataTable dtCertificados = new DataTable();
        DataTable dtNovedad      = new DataTable();
        DataTable dtNovedades    = new DataTable();
        double    valor          = 0;
        string    cedulaNovedad  = "";

        try
        {
            //Pregunta si ya se encuentra un id y un causal seleccionado
            if (txtIdNovedad.Text != "" && ddlSinAplicar.SelectedValue.ToString() != "")
            {
                //se pasa la novedad de retiro del mismo tercero a sin aplicar
                int localidad = (Session["localidad"].ToString() == "") ? 0 : int.Parse(Session["localidad"].ToString());
                //Lista las novedades pendientes segun los parametros enviados
                DataTable dt = AdministrarNovedades.ConsultarNovedadesArchivoEnviada(localidad, 0, 0, 1, 1);
                //Recorre el dt con las novedades pendientes
                foreach (DataRow row in dt.Rows)
                {
                    //entra solo si el id que se esta recorriendo es igual al cargado en el txt
                    if (row["Id"].ToString() == txtIdNovedad.Text)
                    {
                        //asigna en una variable la cedula
                        cedulaNovedad = row["Documento"].ToString();
                    }
                }
                foreach (DataRow row in dt.Rows)
                {
                    /*Pregunta si el documento que se esta recorriendo es igual a la cedula del registro pendiente por
                     *  por enviar a sin aplicar y si el tipo de novedad es retiro */
                    if (row["Documento"].ToString() == cedulaNovedad && row["Tipo Novedad"].ToString() == "RETIRO")
                    {
                        //Se ammarra este retiro y se envia a sin aplicar al igual que el anterior
                        AdministrarNovedades.ActualizarDePendienteASinAplicar(int.Parse(row["Id"].ToString()), 0, ddlSinAplicar.SelectedValue.ToString());
                    }
                }

                //Se envia novedad a sin aplicar
                AdministrarNovedades.ActualizarDePendienteASinAplicar(int.Parse(txtIdNovedad.Text), 0, ddlSinAplicar.SelectedValue.ToString());

                //Se consulta la novedad enviada a sin aplicar
                dtNovedad = AdministrarNovedades.ConsultarNovedadPorTercero("0", "0", "0", txtIdNovedad.Text);
                if (dtNovedad.Rows.Count != 0)
                {
                    //Se asigna a variable el valor de la novedad
                    valor = double.Parse(dtNovedad.Rows[0]["nov_Valor"].ToString());
                    //Consulta certificados por los cuales posiblemente se genero la novedad enviada a sin aplicar
                    dtCertificados = AdministrarNovedades.ConsultarCertificadoPorPagaduriaArchivo(dtNovedad.Rows[0]["ter_Id"].ToString(), dtNovedad.Rows[0]["arcpag_Id"].ToString(), txtIdNovedad.Text);
                    //Se consulta la novedad enviada a sin aplicar
                    dtNovedades = AdministrarNovedades.ConsultarNovedadPorTercero(dtNovedad.Rows[0]["ter_Id"].ToString(), dtNovedad.Rows[0]["arcpag_Id"].ToString(), "2", "0");
                    if (dtNovedades.Rows.Count != 0)
                    {
                        valor -= double.Parse(dtNovedades.Rows[0]["nov_Valor"].ToString());
                    }

                    int i = 0;
                    //Envia los certificados consultados a no aplicar hasta que el valor se reduzca a 0
                    while (valor > 0 && i < dtCertificados.Rows.Count)
                    {
                        valor -= double.Parse(dtCertificados.Rows[i]["cer_PrimaTotal"].ToString());
                        objAdministrarCertificados.ActualizarEstadoNegocioDevolucion("NO APLICO", int.Parse(dtCertificados.Rows[i]["cer_Id"].ToString()));
                        i++;
                    }
                }
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "alert", "alert('" + "Novedades pendiente enviada a sin aplicar" + "');", true);
                ddlAnio_SelectedIndexChanged(sender, e);
            }
        }
        catch
        {
            ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + "HA OCURRIDO UN ERROR AL TRATA DE ENVIAR LA NOVEDAD A SIN APLICAR" + "');", true);
        }
    }
예제 #2
0
    protected void ddlAnio_SelectedIndexChanged(object sender, System.EventArgs e)
    {
        Session["anio"] = ddlAnio.SelectedValue.ToString();

        // Variables para consultas
        int localidad = (Session["localidad"].ToString() == "") ? 0 : int.Parse(Session["localidad"].ToString());
        int pagaduria = (Session["pagaduria"].ToString() == "") ? 0 : int.Parse(Session["pagaduria"].ToString());
        int archivo   = (Session["archivoId"].ToString() == "") ? 0 : int.Parse(Session["archivoId"].ToString());
        int mes       = (Session["mes"].ToString() == "") ? 0 : int.Parse(Session["mes"].ToString());
        int anio      = (Session["anio"].ToString() == "") ? 0 : int.Parse(Session["anio"].ToString());
        int estado    = (Session["estadoPag"].ToString() == "") ? 0 : int.Parse(Session["estadoPag"].ToString());

        //Novedades del mes
        DataTable dtCargarNovedades = new DataTable();

        dtCargarNovedades = AdministrarNovedades.ConsultarNovedades(localidad, pagaduria, archivo, 1, 0, mes, anio);
        grvMes.DataSource = dtCargarNovedades;
        grvMes.DataBind();

        _dtNovedadArchivo       = dtCargarNovedades;
        Session["dtNovedadMes"] = dtCargarNovedades;
        try
        {
            //Se oculta cabecera y final de la pocision numero 10
            grvMes.HeaderRow.Cells[10].Visible = false;
            foreach (GridViewRow row in grvMes.Rows)
            {
                row.Cells[10].Visible = false;
            }
        }
        catch
        { }
        //Si la variable de archivo tiene valor diferente de 0 muestra el check de lo contrario lo mantendra oculto
        if (archivo != 0)
        {
            //Si el dt viene con información muestra el check
            if (_dtNovedadArchivo.Rows.Count > 0)
            {
                chkEnviarNovedad.Visible = true;
            }
            else
            {
                chkEnviarNovedad.Visible = false;
            }
        }
        else
        {
            chkEnviarNovedad.Visible = false;
        }

        //Si se cargan novedades se muestra la tabla de lo contrario el mensaje
        if (dtCargarNovedades.Rows.Count > 0)
        {
            listaNovedadesMes.Visible = true;
            noNovedadesMes.Visible    = false;
        }
        else
        {
            listaNovedadesMes.Visible = false;
            noNovedadesMes.Visible    = true;
        }

        // Cargar novedades pendientes por aplicar
        _dtNovedadArchivoPendiente        = AdministrarNovedades.ConsultarNovedadesArchivoEnviada(localidad, pagaduria, archivo, 1, 1);
        grvPendientePorAplicar.DataSource = _dtNovedadArchivoPendiente;
        grvPendientePorAplicar.DataBind();

        //Se carga en session la tabla para su posterior impresión
        Session["dtNovedadPendienteAplicar"] = _dtNovedadArchivoPendiente;

        //Si se cargan novedades se muestra la tabla de lo contrario el mensaje
        if (_dtNovedadArchivoPendiente.Rows.Count > 0)
        {
            pendientesPorAplicar.Visible   = true;
            noPendientesPorAplicar.Visible = false;
        }
        else
        {
            pendientesPorAplicar.Visible   = false;
            noPendientesPorAplicar.Visible = true;
        }


        // cargar novedades sin aplicar
        DataTable dtFechaSinAplicar = new DataTable();

        dtFechaSinAplicar = AdministrarNovedades.ConsultarFechaAplicacionNovedades();
        // Cargar novedades aplicadas
        DataTable dtFechaAplicacion = new DataTable();

        dtFechaAplicacion = AdministrarNovedades.ConsultarFechaAplicacionNovedades();

        DateTime fecha2;
        DateTime fecha3;

        DataTable dtCargarNovedadesMesYAnioAplicadas  = new DataTable();
        DataTable dtCargarNovedadesMesYAnioSinAplicar = new DataTable();
        DataTable dtCargarNovedadesMesYAnioHistorico  = new DataTable();

        //Pregunta si ya fue seleccionado el mes y el año para realizar el filtro por fechas
        if (mes != 0 && anio != 0)
        {
            //Convierte el valor de los ddl seleccionados en fecha
            int diasMes = DateTime.DaysInMonth(anio, mes);
            fecha2 = DateTime.Parse("01/" + mes + "/" + anio);
            fecha3 = DateTime.Parse(diasMes + "/" + mes + "/" + anio);

            //Novedades por mes y año sin aplicar
            dtCargarNovedadesMesYAnioSinAplicar = AdministrarNovedades.ConsultarNovedadesPorMesYAnioAplicadas(localidad, pagaduria,
                                                                                                              archivo, 0, fecha2, fecha3);

            //Novedades por mes y año aplicadas
            dtCargarNovedadesMesYAnioAplicadas = AdministrarNovedades.ConsultarNovedadesPorMesYAnioAplicadas(localidad,
                                                                                                             pagaduria, archivo, 2, fecha2, fecha3);

            //Pregunta si ya se selecciono el estado para la busqueda del historico
            if (estado != 0)
            {
                //Historico de novedades por mes, año y estado
                dtCargarNovedadesMesYAnioHistorico = AdministrarNovedades.ConsultarNovedadesPorEstadoHistorico(localidad,
                                                                                                               pagaduria, archivo, fecha2, fecha3, estado);
            }
            else
            {
                //Historico de novedades por mes, año
                dtCargarNovedadesMesYAnioHistorico = AdministrarNovedades.ConsultarNovedadesPorMesYAnioHistorico(localidad,
                                                                                                                 pagaduria, archivo, fecha2, fecha3);
            }
        }
        else
        {
            dtCargarNovedadesMesYAnioSinAplicar = AdministrarNovedades.ConsultarNovedadesArchivo(localidad, pagaduria,
                                                                                                 archivo, 0);

            dtCargarNovedadesMesYAnioAplicadas = AdministrarNovedades.ConsultarNovedadesArchivo(localidad, pagaduria,
                                                                                                archivo, 2);

            ddlEstadoHistorico.Enabled         = false;
            dtCargarNovedadesMesYAnioHistorico = AdministrarNovedades.ConsultarNovedadesHistoricoArchivo(localidad,
                                                                                                         pagaduria, archivo);
        }
        //Se carga a los GridView los resultados anteriores
        grvSinAplicar.DataSource = dtCargarNovedadesMesYAnioSinAplicar;
        grvSinAplicar.DataBind();
        grvAplicadas.DataSource = dtCargarNovedadesMesYAnioAplicadas;
        grvAplicadas.DataBind();
        grvHistorico.DataSource = dtCargarNovedadesMesYAnioHistorico;
        grvHistorico.DataBind();

        //Se envia los dt con la información en sessión para su exportación a excel
        Session["dtNovedadHistorico"]  = dtCargarNovedadesMesYAnioHistorico;
        Session["dtNovedadAplicada"]   = dtCargarNovedadesMesYAnioAplicadas;
        Session["dtNovedadSinAplicar"] = dtCargarNovedadesMesYAnioSinAplicar;

        //Si se cargan novedades se muestra la tabla de lo contrario el mensaje
        if (dtCargarNovedadesMesYAnioSinAplicar.Rows.Count > 0)
        {
            novadadesSinAplicar.Visible   = true;
            noNovadadesSinAplicar.Visible = false;
        }
        else
        {
            novadadesSinAplicar.Visible   = false;
            noNovadadesSinAplicar.Visible = true;
        }

        //Si se cargan novedades se muestra la tabla de lo contrario el mensaje
        if (dtCargarNovedadesMesYAnioAplicadas.Rows.Count > 0)
        {
            novadadesAplicadas.Visible   = true;
            noNovadadesAplicadas.Visible = false;
        }
        else
        {
            novadadesAplicadas.Visible   = false;
            noNovadadesAplicadas.Visible = true;
        }

        //Si se cargan novedades se muestra la tabla de lo contrario el mensaje
        if (dtCargarNovedadesMesYAnioHistorico.Rows.Count > 0)
        {
            novadadesHistorico.Visible   = true;
            noNovadadesHistorico.Visible = false;
        }
        else
        {
            novadadesHistorico.Visible   = false;
            noNovadadesHistorico.Visible = true;
        }
    }