示例#1
0
    //protected void CalcularNovedades(DataTable dtPeriodicidad, DataTable dtArchivoPagaduria, string pagaduriaAsignar)
    //{
    //    DataTable dtEncabezadoCertificado = (DataTable)Session["dtEncabezadoCertificado"];
    //    AdministrarCertificados objAdministrarCertificados = new AdministrarCertificados();
    //    DataTable dtArchivo = (DataTable)Session["dtArchivo"];
    //    DataTable dtNovedades = (DataTable)Session["dtNovedades"];
    //    //////////////////////////////Inicia operaciones para novedades/////////////////////////////////////////////
    //    DataTable dtNovedadActual = new DataTable();
    //    dtNovedadActual = objAdministrarCertificados.ConsultarNovedadActual(int.Parse(dtNovedades.Rows[0]["tercero"].ToString()), int.Parse(dtArchivo.Rows[0]["arcpag_Id"].ToString()), 0);

    //    if (dtNovedadActual.Rows.Count > 0)
    //    {
    //        if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "0")
    //        {
    //            if (dtNovedadActual.Rows[0]["TipoNovedad"].ToString() == "R")
    //            {
    //                dtNovedadActual.Clear();
    //            }
    //        }
    //        if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "1")
    //        {
    //            if (dtNovedadActual.Rows[0]["TipoNovedad"].ToString() == "R" && dtNovedadActual.Rows[1]["TipoNovedad"].ToString() != "R")
    //            {
    //                dtNovedadActual.Rows.RemoveAt(0);
    //            }
    //            if (dtNovedadActual.Rows[0]["TipoNovedad"].ToString() == "R" && dtNovedadActual.Rows[1]["TipoNovedad"].ToString() == "R")
    //            {
    //                dtNovedadActual.Clear();
    //            }
    //        }
    //    }
    //    int cedula = 0;
    //    string tipoNovedad = "";
    //    string tipoNovedad2 = "";
    //    double valor2 = 0;
    //    double valor = 0;
    //    int estado = 0;
    //    int pagaduria = 0;
    //    int convenio = 0;
    //    int archivo = 0;
    //    int enviada = 0;
    //    double novedadAnterior = 0;

    //    cedula = int.Parse(dtNovedades.Rows[0]["tercero"].ToString());
    //    convenio = int.Parse(dtNovedades.Rows[0]["convenio"].ToString());
    //    pagaduria = int.Parse(objAdministrarCertificados.consultarConvenioPorPagaduria(double.Parse(dtEncabezadoCertificado.Rows[0]["cer_Id"].ToString())).Rows[0]["paga_Id"].ToString());
    //    archivo = int.Parse(dtArchivo.Rows[0]["arcpag_Id"].ToString());
    //    estado = 1;
    //    enviada = 0;

    //    /////////////////////////////// Variables para calcular el valor que se debe enviar a la novedad ///////////////
    //    double primaCertificado = 0;
    //    primaCertificado = int.Parse(dtNovedades.Rows[0]["prima"].ToString());

    //    int periodicidad = 0;
    //    periodicidad = int.Parse(dtPeriodicidad.Rows[0]["con_PeriodicidadPago"].ToString());

    //    double valorTotal = CalcularValorNovedadCertificado(primaCertificado, periodicidad);
    //    ///////////////////////////////FINALIZA Variables para calcular el valor que se debe enviar a la novedad ///////////////

    //    if (dtNovedadActual.Rows.Count == 0)
    //    {
    //        tipoNovedad = "I";
    //        ///////////////////////Cuando esta persona no tiene novedad anterior /////////////////////
    //        if (tipoNovedad == "I")
    //        {
    //            tipoNovedad = "I";

    //            valor = valorTotal;
    //        }
    //        /////////////////////  FINALIZA Cuando esta persona no tiene novedad anterior/////////////////////////
    //    }
    //    else
    //    {
    //        novedadAnterior = int.Parse(dtNovedadActual.Rows[0]["Valor"].ToString());
    //        //////////////////////// cuando es ingreso, modificacion y retiro ////////////////////////////////
    //        if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "0")
    //        {
    //            //////////////////////// cuando la novedad aun no sido enviada ////////////////////////////////
    //            if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "0")
    //            {
    //                valor = valorTotal + novedadAnterior;
    //            }
    //            ////////////////////////FINALIZA cuando la novedad aun no sido enviada ////////////////////////////////

    //            //////////////////////// cuando la novedad actual ya esta enviada ////////////////////////////////

    //            if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "1")
    //            {
    //                tipoNovedad = "M";

    //                //////////////////////// cuando el valor que se desea ingresar es solo la novedad ////////////////////////////////
    //                if (dtArchivoPagaduria.Rows[0]["arcpag_Valor"].ToString() == "0")
    //                {
    //                    valor = valorTotal;
    //                }
    //                ////////////////////////FINALIZA cuando el valor que se desea ingresar es solo la novedad ////////////////////////////////

    //                ///////////////// cuando el valor que se desea ingresar es la vovedad anterior mas la actual ////////////////////////
    //                if (dtArchivoPagaduria.Rows[0]["arcpag_Valor"].ToString() == "1")
    //                {
    //                    valor = valorTotal - novedadAnterior;
    //                }
    //                /////////////FINALIZA cuando el valor que se desea ingresar es la vovedad anterior mas la actual /////////////////
    //            }
    //            ////////////////////////FINALIZA cuando la novedad actual ya esta enviada ////////////////////////////////
    //        }
    //        ////////////////////////FINALIZA cuando es ingreso, modificacion y retiro ////////////////////////////////

    //        //////////////////////// cuando es ingreso y retiro ////////////////////////////////
    //        if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "1")
    //        {
    //            //////////////////////// cuando la novedad aun no sido enviada ////////////////////////////////
    //            if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "0")
    //            {
    //                valor = valorTotal + novedadAnterior;
    //            }
    //            ////////////////////////FINALIZA cuando la novedad aun no sido enviada ////////////////////////////////
    //            if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "1")
    //            {
    //                tipoNovedad = "I";
    //                valor = valorTotal + novedadAnterior;

    //                tipoNovedad2 = "R";
    //                valor2 = novedadAnterior;
    //            }
    //            ////////////////////////FINALIZA cuando la novedad aun no sido enviada ////////////////////////////////
    //        }
    //        ////////////////////////FINALIZA cuando es ingreso y retiro ////////////////////////////////
    //    }
    //    //////////////////////////////Finaliza operaciones para novedades/////////////////////////////////////////////
    //    DataTable dtMesYAnio = CalcularMesYAnio();

    //    if (dtNovedadActual.Rows.Count > 0)
    //    {
    //        if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "0" || (dtNovedadActual.Rows[0]["Enviada"].ToString() == "1" && dtNovedadActual.Rows[0]["Estado"].ToString() == "1"))
    //        {
    //            AdministrarNovedades.ActualizarNovedades(int.Parse(dtNovedadActual.Rows[0]["nov_Id"].ToString()), dtNovedadActual.Rows[0]["TipoNovedad"].ToString(), int.Parse(valor.ToString()), int.Parse(dtMesYAnio.Rows[0]["mes"].ToString()), int.Parse(dtMesYAnio.Rows[0]["anio"].ToString()));
    //        }
    //        else
    //        {
    //            if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "1" && dtNovedadActual.Rows[0]["Enviada"].ToString() == "1")
    //            {
    //                AdministrarNovedades.InsertarNovedades(int.Parse(cedula.ToString()), tipoNovedad, int.Parse(estado.ToString()), int.Parse(pagaduria.ToString()), int.Parse(convenio.ToString()), int.Parse(archivo.ToString()), int.Parse(valor.ToString()), int.Parse(enviada.ToString()), int.Parse(dtMesYAnio.Rows[0]["mes"].ToString()), int.Parse(dtMesYAnio.Rows[0]["anio"].ToString()));

    //                AdministrarNovedades.InsertarNovedades(int.Parse(cedula.ToString()), tipoNovedad2, int.Parse(estado.ToString()), int.Parse(pagaduria.ToString()), int.Parse(convenio.ToString()), int.Parse(archivo.ToString()), int.Parse(valor2.ToString()), int.Parse(enviada.ToString()), int.Parse(dtMesYAnio.Rows[0]["mes"].ToString()), int.Parse(dtMesYAnio.Rows[0]["anio"].ToString()));
    //            }
    //            if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "0")
    //            {
    //                AdministrarNovedades.InsertarNovedades(int.Parse(cedula.ToString()), tipoNovedad, int.Parse(estado.ToString()), int.Parse(pagaduria.ToString()), int.Parse(convenio.ToString()), int.Parse(archivo.ToString()), int.Parse(valor.ToString()), int.Parse(enviada.ToString()), int.Parse(dtMesYAnio.Rows[0]["mes"].ToString()), int.Parse(dtMesYAnio.Rows[0]["anio"].ToString()));
    //            }
    //            if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "2")
    //            {

    //            }
    //        }
    //    }
    //    else
    //    {
    //        AdministrarNovedades.InsertarNovedades(int.Parse(cedula.ToString()), tipoNovedad, int.Parse(estado.ToString()), int.Parse(pagaduria.ToString()), int.Parse(convenio.ToString()), int.Parse(archivo.ToString()), int.Parse(valor.ToString()), int.Parse(enviada.ToString()), int.Parse(dtMesYAnio.Rows[0]["mes"].ToString()), int.Parse(dtMesYAnio.Rows[0]["anio"].ToString()));
    //    }
    //}


    //Calcula la novedad del certificado
    protected void CalcularNovedades(DataTable dtPeriodicidad, DataTable dtArchivoPagaduria, string pagaduriaAsignar)
    {
        try
        {
            DataTable dtEncabezadoCertificado = (DataTable)Session["dtEncabezadoCertificado"];
            //AdministrarCertificados objAdministrarCertificados = new AdministrarCertificados();
            DataTable dtArchivo   = (DataTable)Session["dtArchivo"];
            DataTable dtNovedades = (DataTable)Session["dtNovedades"];
            //////////////////////////////Inicia operaciones para novedades/////////////////////////////////////////////
            DataTable dtNovedadActual = new DataTable();
            dtNovedadActual = objAdministrarCertificados.ConsultarNovedadActual(int.Parse(dtNovedades.Rows[0]["tercero"].ToString()), int.Parse(dtArchivo.Rows[0]["arcpag_Id"].ToString()), 0);

            if (dtNovedadActual.Rows.Count > 0)
            {
                if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "0")
                {
                    if (dtNovedadActual.Rows[0]["TipoNovedad"].ToString() == "R")
                    {
                        dtNovedadActual.Clear();
                    }
                }
                if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "1")
                {
                    if (dtNovedadActual.Rows[0]["TipoNovedad"].ToString() == "R" && dtNovedadActual.Rows[1]["TipoNovedad"].ToString() != "R")
                    {
                        dtNovedadActual.Rows.RemoveAt(0);
                    }
                    if (dtNovedadActual.Rows[0]["TipoNovedad"].ToString() == "R" && dtNovedadActual.Rows[1]["TipoNovedad"].ToString() == "R")
                    {
                        dtNovedadActual.Clear();
                    }
                }
            }
            int    cedula          = 0;
            string tipoNovedad     = "";
            string tipoNovedad2    = "";
            double valor2          = 0;
            double valor           = 0;
            int    estado          = 0;
            int    pagaduria       = 0;
            int    convenio        = 0;
            int    archivo         = 0;
            int    enviada         = 0;
            double novedadAnterior = 0;

            cedula    = int.Parse(dtNovedades.Rows[0]["tercero"].ToString());
            convenio  = int.Parse(dtNovedades.Rows[0]["convenio"].ToString());
            pagaduria = int.Parse(objAdministrarCertificados.consultarConvenioPorPagaduria(double.Parse(Session["cerIdPagaduria"].ToString())).Rows[0]["paga_Id"].ToString());
            archivo   = int.Parse(dtArchivo.Rows[0]["arcpag_Id"].ToString());
            estado    = 1;
            enviada   = 0;

            /////////////////////////////// Variables para calcular el valor que se debe enviar a la novedad ///////////////
            double primaCertificado = 0;
            primaCertificado = int.Parse(dtNovedades.Rows[0]["prima"].ToString());

            int periodicidad = 0;
            periodicidad = int.Parse(dtPeriodicidad.Rows[0]["con_PeriodicidadPago"].ToString());

            double valorTotal = CalcularValorNovedadCertificado(primaCertificado, periodicidad);
            ///////////////////////////////FINALIZA Variables para calcular el valor que se debe enviar a la novedad ///////////////

            if (dtNovedadActual.Rows.Count == 0)
            {
                tipoNovedad = "I";
                ///////////////////////Cuando esta persona no tiene novedad anterior /////////////////////
                if (tipoNovedad == "I")
                {
                    tipoNovedad = "I";

                    valor = valorTotal;
                }
                /////////////////////  FINALIZA Cuando esta persona no tiene novedad anterior/////////////////////////
            }
            else
            {
                DataTable dtProducto = new DataTable();
                dtProducto = objAdministrarCertificados.ConsultarProductoParaNovedad(double.Parse(dtNovedades.Rows[0]["tercero"].ToString()), int.Parse(dtNovedades.Rows[0]["producto"].ToString()));
                if (int.Parse(dtProducto.Rows.Count.ToString()) == 0)
                {
                    novedadAnterior = int.Parse(dtNovedadActual.Rows[0]["Valor"].ToString());
                    //valorTotal = valorTotal + novedadAnterior;
                    //////////////////////// cuando es ingreso, modificacion y retiro ////////////////////////////////
                    if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "0")
                    {
                        //////////////////////// cuando la novedad aun no sido enviada ////////////////////////////////
                        if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "0")
                        {
                            valor = valorTotal + novedadAnterior;
                        }
                        ////////////////////////FINALIZA cuando la novedad aun no sido enviada ////////////////////////////////

                        //////////////////////// cuando la novedad actual ya esta enviada ////////////////////////////////

                        if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "1")
                        {
                            tipoNovedad = "M";

                            //////////////////////// cuando el valor que se desea ingresar es solo la novedad ////////////////////////////////
                            if (dtArchivoPagaduria.Rows[0]["arcpag_Valor"].ToString() == "0")
                            {
                                valor = valorTotal;
                            }
                            ////////////////////////FINALIZA cuando el valor que se desea ingresar es solo la novedad ////////////////////////////////

                            ///////////////// cuando el valor que se desea ingresar es la vovedad anterior mas la actual ////////////////////////
                            if (dtArchivoPagaduria.Rows[0]["arcpag_Valor"].ToString() == "1")
                            {
                                valor = valorTotal - novedadAnterior;
                            }
                            /////////////FINALIZA cuando el valor que se desea ingresar es la vovedad anterior mas la actual /////////////////
                        }
                        ////////////////////////FINALIZA cuando la novedad actual ya esta enviada ////////////////////////////////
                    }
                    ////////////////////////FINALIZA cuando es ingreso, modificacion y retiro ////////////////////////////////

                    //////////////////////// cuando es ingreso y retiro ////////////////////////////////
                    if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "1")
                    {
                        //////////////////////// cuando la novedad aun no sido enviada ////////////////////////////////
                        if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "0")
                        {
                            valor = valorTotal + novedadAnterior;
                        }
                        ////////////////////////FINALIZA cuando la novedad aun no sido enviada ////////////////////////////////
                        if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "1")
                        {
                            tipoNovedad = "I";
                            valor       = valorTotal + novedadAnterior;

                            tipoNovedad2 = "R";
                            valor2       = novedadAnterior;
                        }
                        ////////////////////////FINALIZA cuando la novedad aun no sido enviada ////////////////////////////////
                    }
                    ////////////////////////FINALIZA cuando es ingreso y retiro ////////////////////////////////
                }
                else
                {
                    novedadAnterior = int.Parse(dtNovedadActual.Rows[0]["Valor"].ToString()) - int.Parse(dtProducto.Rows[0]["Prima"].ToString());
                    //valorTotal = valorTotal + novedadAnterior;
                    if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "0")
                    {
                        //////////////////////// cuando la novedad aun no sido enviada ////////////////////////////////
                        if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "0")
                        {
                            valor = valorTotal + novedadAnterior;
                        }
                        ////////////////////////FINALIZA cuando la novedad aun no sido enviada ////////////////////////////////

                        //////////////////////// cuando la novedad actual ya esta enviada ////////////////////////////////

                        if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "1")
                        {
                            tipoNovedad = "M";

                            //////////////////////// cuando el valor que se desea ingresar es solo la novedad ////////////////////////////////
                            if (dtArchivoPagaduria.Rows[0]["arcpag_Valor"].ToString() == "0")
                            {
                                valor = valorTotal;
                            }
                            ////////////////////////FINALIZA cuando el valor que se desea ingresar es solo la novedad ////////////////////////////////

                            ///////////////// cuando el valor que se desea ingresar es la vovedad anterior mas la actual ////////////////////////
                            if (dtArchivoPagaduria.Rows[0]["arcpag_Valor"].ToString() == "1")
                            {
                                valor = valorTotal - novedadAnterior;
                            }
                            /////////////FINALIZA cuando el valor que se desea ingresar es la vovedad anterior mas la actual /////////////////
                        }
                        ////////////////////////FINALIZA cuando la novedad actual ya esta enviada ////////////////////////////////
                    }
                    ////////////////////////FINALIZA cuando es ingreso, modificacion y retiro ////////////////////////////////

                    //////////////////////// cuando es ingreso y retiro ////////////////////////////////
                    if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "1")
                    {
                        //////////////////////// cuando la novedad aun no sido enviada ////////////////////////////////
                        if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "0")
                        {
                            valor = valorTotal + novedadAnterior;
                        }
                        ////////////////////////FINALIZA cuando la novedad aun no sido enviada ////////////////////////////////
                        if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "1")
                        {
                            tipoNovedad = "I";
                            valor       = valorTotal + novedadAnterior;

                            tipoNovedad2 = "R";
                            valor2       = novedadAnterior;
                        }
                        ////////////////////////FINALIZA cuando la novedad aun no sido enviada ////////////////////////////////
                    }
                }
            }
            //////////////////////////////Finaliza operaciones para novedades/////////////////////////////////////////////
            DataTable dtMesYAnio = CalcularMesYAnio();

            if (dtNovedadActual.Rows.Count > 0)
            {
                if (dtNovedadActual.Rows[0]["Enviada"].ToString() == "0" || (dtNovedadActual.Rows[0]["Enviada"].ToString() == "1" && dtNovedadActual.Rows[0]["Estado"].ToString() == "1"))
                {
                    AdministrarNovedades.ActualizarNovedades(int.Parse(dtNovedadActual.Rows[0]["nov_Id"].ToString()), dtNovedadActual.Rows[0]["TipoNovedad"].ToString(), int.Parse(valor.ToString()), int.Parse(dtMesYAnio.Rows[0]["mes"].ToString()), int.Parse(dtMesYAnio.Rows[0]["anio"].ToString()));
                }
                else
                {
                    if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "1" && dtNovedadActual.Rows[0]["Enviada"].ToString() == "1")
                    {
                        AdministrarNovedades.InsertarNovedades(int.Parse(cedula.ToString()), tipoNovedad, int.Parse(estado.ToString()), int.Parse(pagaduria.ToString()), int.Parse(convenio.ToString()), int.Parse(archivo.ToString()), int.Parse(valor.ToString()), int.Parse(enviada.ToString()), int.Parse(dtMesYAnio.Rows[0]["mes"].ToString()), int.Parse(dtMesYAnio.Rows[0]["anio"].ToString()));

                        AdministrarNovedades.InsertarNovedades(int.Parse(cedula.ToString()), tipoNovedad2, int.Parse(estado.ToString()), int.Parse(pagaduria.ToString()), int.Parse(convenio.ToString()), int.Parse(archivo.ToString()), int.Parse(valor2.ToString()), int.Parse(enviada.ToString()), int.Parse(dtMesYAnio.Rows[0]["mes"].ToString()), int.Parse(dtMesYAnio.Rows[0]["anio"].ToString()));
                    }
                    if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "0")
                    {
                        AdministrarNovedades.InsertarNovedades(int.Parse(cedula.ToString()), tipoNovedad, int.Parse(estado.ToString()), int.Parse(pagaduria.ToString()), int.Parse(convenio.ToString()), int.Parse(archivo.ToString()), int.Parse(valor.ToString()), int.Parse(enviada.ToString()), int.Parse(dtMesYAnio.Rows[0]["mes"].ToString()), int.Parse(dtMesYAnio.Rows[0]["anio"].ToString()));
                    }
                    if (dtArchivoPagaduria.Rows[0]["arcpag_TipoReporte"].ToString() == "2")
                    {
                    }
                }
            }
            else
            {
                AdministrarNovedades.InsertarNovedades(int.Parse(cedula.ToString()), tipoNovedad, int.Parse(estado.ToString()), int.Parse(pagaduria.ToString()), int.Parse(convenio.ToString()), int.Parse(archivo.ToString()), int.Parse(valor.ToString()), int.Parse(enviada.ToString()), int.Parse(dtMesYAnio.Rows[0]["mes"].ToString()), int.Parse(dtMesYAnio.Rows[0]["anio"].ToString()));
            }
        }
        catch
        {
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "alert", "alert('" + "SURGIO UN ERROR AL CALCULAR LA NOVEDAD" + "');", true);
        }
    }