public static List <NovedadDocumentacion> Traer_Documentacion_X_Estado(ConsultaBatch.enum_ConsultaBatch_NombreConsulta nombreConsulta, long idPrestador, DateTime?Fecha_Recepcion_desde, DateTime?Fecha_Recepcion_hasta, int?idEstado_documentacion, long?id_Novedad, long?id_Beneficiario, bool generaArchivo, bool generadoAdmin, out string rutaArchivoSal) { string rutaArchivo = string.Empty; string nombreArchivo = string.Empty; rutaArchivoSal = string.Empty; string msgRta = string.Empty; ConsultaBatch consultaBatch = new ConsultaBatch(); consultaBatch.IDPrestador = idPrestador; consultaBatch.NombreConsulta = nombreConsulta; consultaBatch.NroBeneficio = id_Beneficiario.HasValue ? id_Beneficiario.Value : 0; consultaBatch.FechaDesde = Fecha_Recepcion_desde; consultaBatch.FechaHasta = Fecha_Recepcion_hasta; consultaBatch.GeneradoAdmin = generadoAdmin; consultaBatch.IdEstado_Documentacion = idEstado_documentacion; consultaBatch.Idnovedad = id_Novedad; try { if (generaArchivo == true) { /*idPrestador, nombreConsulta.ToString(), 0, * 0, string.Empty, 0, * 0, id_Beneficiario, Fecha_Recepcion_desde, Fecha_Recepcion_hasta, generadoAdmin, * null, null, null, null, null, idEstado_documentacion, null, null, id_Novedad, * false, false, null, null, null, null, null*/ msgRta = ConsultasBatchDAO.ExisteConsulta(consultaBatch); if (!string.IsNullOrEmpty(msgRta)) { throw new ApplicationException("MSG_ERROR" + msgRta + "FIN_MSG_ERROR"); } } List <NovedadDocumentacion> listNovedades = Traer_Documentacion(idPrestador, Fecha_Recepcion_desde, Fecha_Recepcion_hasta, idEstado_documentacion, id_Novedad, id_Beneficiario); if (listNovedades.Count > 0 && generaArchivo) { int maxCantidad = Settings.MaxCantidadRegistros(); if (listNovedades.Count >= maxCantidad || generaArchivo) { nombreArchivo = Utilidades.GeneraNombreArchivo(nombreConsulta.ToString(), idPrestador, out rutaArchivo); rutaArchivoSal = Path.Combine(rutaArchivo, nombreArchivo); StreamWriter sw = new StreamWriter(rutaArchivoSal, false, Encoding.UTF8); string separador = Settings.DelimitadorCampo(); foreach (NovedadDocumentacion oNovedad in listNovedades) { StringBuilder linea = new StringBuilder(); linea.Append(oNovedad.IdNovedad.ToString() + separador); linea.Append(oNovedad.unBeneficiario.IdBeneficiario.ToString() + separador); if (nombreConsulta == ConsultaBatch.enum_ConsultaBatch_NombreConsulta.NOVEDADES_DOCUMENTACION) { linea.Append(oNovedad.unBeneficiario.Cuil.ToString() + separador); } linea.Append(oNovedad.unBeneficiario.ApellidoNombre.ToString().Trim() + separador); linea.Append(oNovedad.Estado.DescEstado.ToString() + separador); linea.Append((oNovedad.Fecha_Recepcion.HasValue ? oNovedad.Fecha_Recepcion.Value.ToString("dd/MM/yyyy") : string.Empty) + separador); if (nombreConsulta == ConsultaBatch.enum_ConsultaBatch_NombreConsulta.NOVEDADES_DOCUMENTACION) { linea.Append(oNovedad.Cant_Cuotas.ToString() + separador); linea.Append(oNovedad.NroCaja.ToString()); } else { linea.Append(oNovedad.Cant_Cuotas.ToString()); } sw.WriteLine(linea.ToString()); } sw.Close(); Utilidades.ComprimirArchivo(rutaArchivo, nombreArchivo); Utilidades.BorrarArchivo(rutaArchivoSal); nombreArchivo = nombreArchivo + ".zip"; consultaBatch.RutaArchGenerado = rutaArchivo; consultaBatch.NomArchGenerado = nombreArchivo; consultaBatch.FechaGenera = DateTime.Now; consultaBatch.Vigente = true; msgRta = ConsultasBatchDAO.AltaNuevaConsulta(consultaBatch); if (!string.IsNullOrEmpty(msgRta)) { msgRta = "MSG_ERROR" + msgRta + "FIN_MSG_ERROR"; throw new ApplicationException(msgRta); } /* Se instacia el objeto para que no muestre los * registros y pueda ver solo el archivo generado. */ listNovedades = new List <NovedadDocumentacion>(); } } return(listNovedades); } catch (SqlException errsql) { log.Error(string.Format("{0}->{1}->Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), errsql.Source, errsql.Message)); if (errsql.Number == -2) { nombreArchivo = Utilidades.GeneraNombreArchivo(nombreConsulta.ToString(), idPrestador, out rutaArchivo); consultaBatch.RutaArchGenerado = rutaArchivo; consultaBatch.NomArchGenerado = nombreArchivo; consultaBatch.FechaGenera = DateTime.MinValue; consultaBatch.Vigente = false; msgRta = ConsultasBatchDAO.AltaNuevaConsulta(consultaBatch); throw new ApplicationException("MSG_ERROR Generando el archivo. Reingrese a la consulta en unos minutos.FIN_MSG_ERROR"); } else { throw errsql; } } catch (ApplicationException apperr) { log.Error(string.Format("{0}->{1}->Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), apperr.Source, apperr.Message)); throw new ApplicationException(apperr.Message); } catch (Exception err) { log.Error(string.Format("{0}->{1}->Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), err.Source, err.Message)); throw err; } }
public static List <Novedad> NovedadHistorica_Trae(byte opcionBusqueda, byte opcion, long prestador, long benefCuil, byte tipoConc, int conCopp, string fecCierre, bool generaArchivo, bool generadoAdmin, out string rutaArchivoSal) { string rutaArchivo = string.Empty; string nombreArchivo = string.Empty; rutaArchivoSal = string.Empty; string msgRta = string.Empty; ConsultaBatch consultaBatch = new ConsultaBatch(); consultaBatch.NombreConsulta = ConsultaBatch.enum_ConsultaBatch_NombreConsulta.NOVEDADESLIQUIDADAS; consultaBatch.IDPrestador = prestador; consultaBatch.CriterioBusqueda = opcionBusqueda; consultaBatch.OpcionBusqueda = opcion; consultaBatch.PeriodoCons = fecCierre.ToString(); consultaBatch.UnConceptoLiquidacion = new ConceptoLiquidacion(conCopp, string.Empty, new TipoConcepto(tipoConc, string.Empty)); consultaBatch.NroBeneficio = benefCuil; consultaBatch.GeneradoAdmin = generadoAdmin; consultaBatch.FechaDesde = consultaBatch.FechaHasta = null; try { if (opcion != 1 || generaArchivo == true) { msgRta = ConsultasBatchDAO.ExisteConsulta(consultaBatch); if (!string.IsNullOrEmpty(msgRta)) { throw new ApplicationException("MSG_ERROR" + msgRta + "FIN_MSG_ERROR"); } } List <Novedad> listNovedades = NovedadHistorica_Trae_Consulta(opcionBusqueda, opcion, prestador, benefCuil, tipoConc, conCopp, fecCierre); //if ((ds.Tables[0].Rows.Count != 0) && (opcion != 1 || GeneraArchivo == true)) if (listNovedades.Count > 0 && (opcion != 1 || generaArchivo == true)) { int maxCantidad = Settings.MaxCantidadRegistros(); if (listNovedades.Count >= maxCantidad || generaArchivo == true) { nombreArchivo = Utilidades.GeneraNombreArchivo(consultaBatch.NombreConsulta.ToString(), prestador, out rutaArchivo); rutaArchivoSal = Path.Combine(rutaArchivo, nombreArchivo); StreamWriter sw = new StreamWriter(rutaArchivoSal, false, System.Text.Encoding.UTF8); string separador = Settings.DelimitadorCampo(); foreach (Novedad oNovedad in listNovedades) { StringBuilder linea = new StringBuilder(); linea.Append(oNovedad.IdNovedad.ToString() + separador); linea.Append(oNovedad.UnBeneficiario.IdBeneficiario.ToString() + separador); linea.Append(oNovedad.UnBeneficiario.ApellidoNombre.ToString() + separador); linea.Append(oNovedad.FechaNovedad.ToString("dd/MM/yyyy HH:mm:ss") + separador); linea.Append(oNovedad.UnTipoConcepto.IdTipoConcepto.ToString() + separador); linea.Append(oNovedad.UnTipoConcepto.DescTipoConcepto.ToString() + separador); linea.Append(oNovedad.UnConceptoLiquidacion.CodConceptoLiq.ToString() + separador); linea.Append(oNovedad.UnConceptoLiquidacion.DescConceptoLiq.ToString() + separador); linea.Append(oNovedad.ImporteTotal.ToString().Replace(",", ".") + separador); linea.Append(oNovedad.CantidadCuotas.ToString() + separador); linea.Append(oNovedad.Porcentaje.ToString().Replace(",", ".") + separador); linea.Append(oNovedad.ImporteCuota.ToString().Replace(",", ".") + separador); linea.Append(oNovedad.NroCuotaLiquidada.ToString() + separador); linea.Append(oNovedad.ImporteALiquidar.ToString() + separador); linea.Append(oNovedad.ImporteLiquidado.ToString() + separador); linea.Append(oNovedad.Comprobante.ToString() + separador); linea.Append(oNovedad.MAC.ToString() + separador); linea.Append(oNovedad.UnAuditoria.Usuario.ToString()); linea.Append(oNovedad.Stock.ToString()); sw.WriteLine(linea.ToString()); } sw.Close(); Utilidades.ComprimirArchivo(rutaArchivo, nombreArchivo); Utilidades.BorrarArchivo(rutaArchivoSal); nombreArchivo = nombreArchivo + ".zip"; consultaBatch.RutaArchGenerado = rutaArchivo; consultaBatch.NomArchGenerado = nombreArchivo; consultaBatch.FechaGenera = DateTime.Now; consultaBatch.Vigente = true; msgRta = ConsultasBatchDAO.AltaNuevaConsulta(consultaBatch); if (!string.IsNullOrEmpty(msgRta)) { msgRta = "MSG_ERROR" + msgRta + "FIN_MSG_ERROR"; throw new ApplicationException(msgRta); } /* Se instacia el objeto para que no muestre los * registros y pueda ver solo el archivo generado. */ listNovedades = new List <Novedad>(); } } return(listNovedades); } catch (SqlException errsql) { log.Error(string.Format("{0}->{1}->Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), errsql.Source, errsql.Message)); if (errsql.Number == -2) { nombreArchivo = Utilidades.GeneraNombreArchivo(consultaBatch.NombreConsulta.ToString(), prestador, out rutaArchivo); consultaBatch.NomArchGenerado = nombreArchivo; consultaBatch.RutaArchGenerado = rutaArchivo; consultaBatch.FechaGenera = DateTime.MinValue; consultaBatch.Vigente = false; msgRta = ConsultasBatchDAO.AltaNuevaConsulta(consultaBatch); throw new ApplicationException("MSG_ERROR Generando el archivo. Reingrese a la consulta en unos minutos.FIN_MSG_ERROR"); } else { throw errsql; } } catch (ApplicationException apperr) { log.Error(string.Format("{0}->{1}->Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), apperr.Source, apperr.Message)); throw new ApplicationException(apperr.Message); } catch (Exception err) { log.Error(string.Format("{0}->{1}->Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), err.Source, err.Message)); throw err; } finally { } }
public static List <NovedadCaratulada> Novedades_Caratuladas_Traer(ConsultaBatch.enum_ConsultaBatch_NombreConsulta nombreConsulta, long idPrestador, DateTime?Fecha_Recepcion_desde, DateTime?Fecha_Recepcion_hasta, enum_EstadoCaratulacion?idEstado, int conErrores, long?id_Beneficiario, bool generaArchivo, bool generadoAdmin, out string rutaArchivoSal) { string rutaArchivo = string.Empty; string nombreArchivo = string.Empty; rutaArchivoSal = string.Empty; string msgRta = string.Empty; ConsultaBatch consultaBatch = new ConsultaBatch(); consultaBatch.IDPrestador = idPrestador; consultaBatch.NombreConsulta = nombreConsulta; consultaBatch.NroBeneficio = id_Beneficiario.HasValue ? id_Beneficiario.Value : 0; consultaBatch.FechaDesde = Fecha_Recepcion_desde; consultaBatch.FechaHasta = Fecha_Recepcion_hasta; consultaBatch.GeneradoAdmin = generadoAdmin; consultaBatch.IdEstado_Documentacion = (int?)idEstado; try { if (generaArchivo == true) { msgRta = ConsultasBatchDAO.ExisteConsulta(consultaBatch); if (!string.IsNullOrEmpty(msgRta)) { throw new ApplicationException("MSG_ERROR" + msgRta + "FIN_MSG_ERROR"); } } List <NovedadCaratulada> listNovedades = Traer_Caratulacion(idPrestador, Fecha_Recepcion_desde, Fecha_Recepcion_hasta, conErrores, id_Beneficiario, (int?)idEstado); if (listNovedades.Count > 0 && generaArchivo) { int maxCantidad = Settings.MaxCantidadRegistros(); if (listNovedades.Count >= maxCantidad || generaArchivo) { nombreArchivo = Utilidades.GeneraNombreArchivo(nombreConsulta.ToString(), idPrestador, out rutaArchivo); rutaArchivoSal = Path.Combine(rutaArchivo, nombreArchivo); StreamWriter sw = new StreamWriter(rutaArchivoSal, false, Encoding.UTF8); string separador = Settings.DelimitadorCampo(); foreach (NovedadCaratulada oNovedad in listNovedades) { StringBuilder linea = new StringBuilder(); linea.Append(oNovedad.NroExpediente.ToString() + separador); linea.Append(oNovedad.novedad.IdNovedad.ToString() + separador); linea.Append(oNovedad.FInicioAfjp.ToString() + separador); linea.Append(oNovedad.novedad.UnConceptoLiquidacion.CodConceptoLiq.ToString() + separador); linea.Append(oNovedad.novedad.UnBeneficiario.IdBeneficiario.ToString() + separador); linea.Append(oNovedad.novedad.UnBeneficiario.ApellidoNombre.ToString() + separador); linea.Append(oNovedad.novedad.FechaNovedad.ToString() + separador); linea.Append(oNovedad.Error.ToString() + separador); linea.Append(oNovedad.idEstadoCaratulacion.ToString()); sw.WriteLine(linea.ToString()); } sw.Close(); Utilidades.ComprimirArchivo(rutaArchivo, nombreArchivo); Utilidades.BorrarArchivo(rutaArchivoSal); nombreArchivo = nombreArchivo + ".zip"; consultaBatch.OpcionBusqueda = byte.Parse(conErrores.ToString()); consultaBatch.RutaArchGenerado = rutaArchivo; consultaBatch.NomArchGenerado = nombreArchivo; consultaBatch.FechaGenera = DateTime.Now; consultaBatch.Vigente = true; // conErrores.HasValue? conErrores.Value ? 1 : 0 : 2 --> el valor=2 es para cuando seleccione todos en el combo 'Con errores' msgRta = ConsultasBatchDAO.AltaNuevaConsulta(consultaBatch); if (!string.IsNullOrEmpty(msgRta)) { msgRta = "MSG_ERROR" + msgRta + "FIN_MSG_ERROR"; throw new ApplicationException(msgRta); } /* Se instacia el objeto para que no muestre los * registros y pueda ver solo el archivo generado. */ listNovedades = new List <NovedadCaratulada>(); } } return(listNovedades); } catch (SqlException errsql) { if (errsql.Number == -2) { // timeout log.Error(string.Format("{0}->{1}-> Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), errsql.Source, errsql.Message)); nombreArchivo = Utilidades.GeneraNombreArchivo(nombreConsulta.ToString(), idPrestador, out rutaArchivo); consultaBatch.OpcionBusqueda = byte.Parse(conErrores.ToString()); consultaBatch.NomArchGenerado = nombreArchivo; consultaBatch.RutaArchGenerado = rutaArchivo; consultaBatch.FechaGenera = DateTime.MinValue; consultaBatch.Vigente = false; msgRta = ConsultasBatchDAO.AltaNuevaConsulta(consultaBatch); throw new ApplicationException("MSG_ERROR Generando el archivo. Reingrese a la consulta en unos minutos.FIN_MSG_ERROR"); } else { throw errsql; } } catch (ApplicationException apperr) { throw new ApplicationException(apperr.Message); } catch (Exception ex) { log.Error(string.Format("{0}->{1}-> Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), ex.Source, ex.Message)); throw ex; } }