//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); } }