Exemple #1
0
 public List <NovedadDocumentacion> Traer_Documentacion_X_Estado(ConsultaBatch.enum_ConsultaBatch_NombreConsulta nombreConsulta,
                                                                 long idPrestador, DateTime?F_Recep_Desde, DateTime?F_Recep_Hasta,
                                                                 int?idEstado_documentacion, long?id_Beneficiario, long?id_Novedad,
                                                                 bool generaArchivo, bool generadoAdmin, out string rutaArchivoSal)
 {
     return(NovedadDocumentacionDAO.Traer_Documentacion_X_Estado(nombreConsulta, idPrestador, F_Recep_Desde, F_Recep_Hasta,
                                                                 idEstado_documentacion, id_Novedad, id_Beneficiario, generaArchivo, generadoAdmin,
                                                                 out rutaArchivoSal));
 }
Exemple #2
0
 public 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)
 {
     return(CaratulacionDAO.Novedades_Caratuladas_Traer(nombreConsulta,
                                                        idPrestador, Fecha_Recepcion_desde, Fecha_Recepcion_hasta, idEstado,
                                                        conErrores, id_Beneficiario,
                                                        generaArchivo, generadoAdmin, out rutaArchivoSal));
 }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        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;
            }
        }