Example #1
0
        public static List <ConsultaBatch> TraerXidPrestador(long idPrestador, string usuarioLogueado, string nombreConsulta)
        {
            string    sql       = "ConsultasBatch_TxIDPrestador_V2";
            Database  db        = DatabaseFactory.CreateDatabase("DAT_V01");
            DbCommand dbCommand = db.GetStoredProcCommand(sql);

            try
            {
                db.AddInParameter(dbCommand, "@IDPrestador", DbType.Int64, idPrestador);
                db.AddInParameter(dbCommand, "@NombreConsulta", DbType.String, nombreConsulta);
                db.AddInParameter(dbCommand, "@cuilusuario", DbType.String, usuarioLogueado);

                List <ConsultaBatch> unaListaConsultaBatch = new List <ConsultaBatch>();

                using (NullableDataReader dr = new NullableDataReader(db.ExecuteReader(dbCommand)))
                {
                    while (dr.Read())
                    {
                        ConsultaBatch CB = new ConsultaBatch(Int64.Parse(dr["IDConsulta"].ToString()),
                                                             Int64.Parse(dr["IDPrestador"].ToString()),
                                                             (ConsultaBatch.enum_ConsultaBatch_NombreConsulta)Enum.Parse(typeof(ConsultaBatch.enum_ConsultaBatch_NombreConsulta), dr["NombreConsulta"].ToString()),
                                                             dr["FechaPedido"].Equals(DBNull.Value) ? new DateTime() : DateTime.Parse(dr["FechaPedido"].ToString()),
                                                             byte.Parse(dr["OpcionBusqueda"].ToString()),
                                                             byte.Parse(dr["CriterioBusqueda"].ToString()),
                                                             dr["Mensual"].ToString(),
                                                             new ConceptoLiquidacion(dr["CodConceptoLiq"].Equals(DBNull.Value) ? 0 : int.Parse(dr["CodConceptoLiq"].ToString()),
                                                                                     dr.GetString("DescConceptoLiq"),
                                                                                     new TipoConcepto(dr["TipoConcepto"].Equals(DBNull.Value)? (short)0 : short.Parse(dr["TipoConcepto"].ToString()),
                                                                                                      dr["DescTipoConcepto"].ToString(), true)),
                                                             dr["NroBeneficio"].Equals(DBNull.Value) ? 0 : Int64.Parse(dr["NroBeneficio"].ToString()),
                                                             dr["FechaDesde"].Equals(DBNull.Value) ? new DateTime() : DateTime.Parse(dr["FechaDesde"].ToString()),
                                                             dr["FechaHasta"].Equals(DBNull.Value) ? new DateTime() : DateTime.Parse(dr["FechaHasta"].ToString()),
                                                             //esta linea se descomenta cuando pasemos datv3 y datintra
                                                             //dr["rutaArchGenerado"].Equals(DBNull.Value) ? "" : dr["rutaArchGenerado"].ToString(),
                                                             dr["rutaArchGenerado"].Equals(DBNull.Value) ? "" : dr["NomArchGenerado"].ToString(),
                                                             dr["NomArchGenerado"].Equals(DBNull.Value) ? "" : dr["NomArchGenerado"].ToString(),
                                                             dr["Archivo"].Equals(DBNull.Value) ? "" : dr["Archivo"].ToString(),
                                                             bool.Parse(dr["Vigente"].ToString()),
                                                             dr["FechaGenera"].Equals(DBNull.Value) ? new DateTime() : DateTime.Parse(dr["FechaGenera"].ToString()),
                                                             dr["Usuario"].ToString(),
                                                             false);

                        CB.IdEstado_Documentacion      = dr["idEstado"].Equals(DBNull.Value) ? new int() : Convert.ToInt32(dr["idEstado"].ToString());
                        CB.IdEstado_Documentacion_Desc = dr["descripcion"].Equals(DBNull.Value) ? "" : dr["descripcion"].ToString();
                        CB.NroReporte         = dr["nroReporte"].Equals(DBNull.Value) ? new int(): Convert.ToInt32(dr["nroReporte"].ToString());
                        CB.Fecha_Presentacion = dr["fpresentacion"].Equals(DBNull.Value) ? new DateTime(): Convert.ToDateTime(dr["fpresentacion"].ToString());
                        CB.Tipo_Pago          = dr["tipoPago"].Equals(DBNull.Value) ? new int(): Convert.ToInt32(dr["tipoPago"].ToString());
                        CB.Tipo_Pago_Desc     = dr["descripciontipoPago"].Equals(DBNull.Value) ? "" : dr["descripciontipoPago"].ToString();
                        CB.Perfil             = dr["perfil"].ToString();
                        CB.CUIL_Usuario       = dr["cuilusuario"].ToString();
                        CB.Nro_Sucursal       = dr["nrosucursal"].ToString();
                        CB.Razonprestador     = dr["prestador"].ToString();
                        CB.Idnovedad          = dr["idnovedad"].Equals(DBNull.Value) ? (long?)null : Convert.ToInt64(dr["idnovedad"].ToString());
                        CB.SoloArgenta        = dr["soloArgenta"].Equals(DBNull.Value) ? new bool() : Convert.ToBoolean(dr["soloArgenta"].ToString());
                        CB.SoloEntidades      = dr["soloEntidades"].Equals(DBNull.Value) ? new bool() : Convert.ToBoolean(dr["soloEntidades"].ToString());
                        CB.Provincia          = new Provincia(dr["idProvincia"].Equals(DBNull.Value) ? new short(): Convert.ToInt16(dr["idProvincia"].ToString()),
                                                              dr["Provincia"].ToString());
                        CB.CodPostal              = dr["codpostal"].Equals(DBNull.Value) ? 0 : Convert.ToInt32(dr["codpostal"].ToString());
                        CB.Lote                   = dr["lote"].ToString();
                        CB.DescEstado             = dr["descEstado"].ToString();
                        CB.Regional               = dr["regional"].ToString();
                        CB.FechaCambioEstadoDesde = dr["fechaCambioEstadoDesde"].Equals(DBNull.Value) ? new DateTime() : DateTime.Parse(dr["fechaCambioEstadoDesde"].ToString());
                        CB.FechaCambioEstadoHasta = dr["fechaCambioEstadoHasta"].Equals(DBNull.Value) ? new DateTime() : DateTime.Parse(dr["fechaCambioEstadoHasta"].ToString());
                        CB.Cuotas                 = dr["cuotas"].Equals(DBNull.Value) ? new int() : Convert.ToInt32(dr["cuotas"].ToString());
                        CB.SaldoAmortizacionDesde = dr["saldoAmortizacionDesde"].Equals(DBNull.Value) ? (Decimal?)null: Decimal.Parse(dr["saldoAmortizacionDesde"].ToString());
                        CB.SaldoAmortizacionHasta = dr["saldoAmortizacionHasta"].Equals(DBNull.Value) ? (Decimal?)null : Decimal.Parse(dr["saldoAmortizacionHasta"].ToString());

                        unaListaConsultaBatch.Add(CB);
                    }
                }

                return(unaListaConsultaBatch);
            }
            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
            {
                db = null;
                dbCommand.Dispose();
            }
        }
Example #2
0
        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
            {
            }
        }
Example #3
0
        public static string ExisteConsulta(ConsultaBatch consultaBach)
        {
            string    MsgRetorno = String.Empty;
            string    sql        = "ConsultasBatch_Existe_V2";
            Database  db         = DatabaseFactory.CreateDatabase("DAT_V01");
            DbCommand dbCommand  = db.GetStoredProcCommand(sql);

            try
            {
                db.AddInParameter(dbCommand, "@IDPrestador", DbType.Int64, consultaBach.IDPrestador);
                db.AddInParameter(dbCommand, "@NombreConsulta", DbType.String, consultaBach.NombreConsulta);
                db.AddInParameter(dbCommand, "@CriterioLiq", DbType.Int16, consultaBach.CriterioBusqueda);
                db.AddInParameter(dbCommand, "@Opcion", DbType.Int16, consultaBach.OpcionBusqueda);
                db.AddInParameter(dbCommand, "@PeriodoCons", DbType.String, consultaBach.PeriodoCons);
                db.AddInParameter(dbCommand, "@TipoConcepto", DbType.Int16, consultaBach.UnConceptoLiquidacion != null && consultaBach.UnConceptoLiquidacion.UnTipoConcepto != null? consultaBach.UnConceptoLiquidacion.UnTipoConcepto.IdTipoConcepto : 0);
                db.AddInParameter(dbCommand, "@CodConceptoLiq", DbType.Int32, consultaBach.UnConceptoLiquidacion != null? consultaBach.UnConceptoLiquidacion.CodConceptoLiq : 0);
                db.AddInParameter(dbCommand, "@NroBeneficio", DbType.Int64, consultaBach.NroBeneficio != null? consultaBach.NroBeneficio.Value: 0);
                db.AddInParameter(dbCommand, "@FechaDesde", DbType.String, !consultaBach.FechaDesde.HasValue ? null : consultaBach.FechaDesde.Value.ToString("yyyyMMdd"));
                db.AddInParameter(dbCommand, "@FechaHasta", DbType.String, !consultaBach.FechaHasta.HasValue ? null : consultaBach.FechaHasta.Value.ToString("yyyyMMdd"));
                db.AddInParameter(dbCommand, "@GeneradoAdmin", DbType.String, consultaBach.GeneradoAdmin);
                db.AddInParameter(dbCommand, "@nroSucursal", DbType.String, string.IsNullOrEmpty(consultaBach.Nro_Sucursal) ? "" : consultaBach.Nro_Sucursal);
                db.AddInParameter(dbCommand, "@cuilUsuario", DbType.String, string.IsNullOrEmpty(consultaBach.CUIL_Usuario) ? null : consultaBach.CUIL_Usuario);
                db.AddInParameter(dbCommand, "@idEstado", DbType.Int32, !consultaBach.IdEstado_Documentacion.HasValue ? null : consultaBach.IdEstado_Documentacion.Value.ToString());
                db.AddInParameter(dbCommand, "@nroReporte", DbType.Int32, !consultaBach.NroReporte.HasValue ? null : consultaBach.NroReporte.Value.ToString());
                db.AddInParameter(dbCommand, "@fPresentacion", DbType.String, !consultaBach.Fecha_Presentacion.HasValue ? null : consultaBach.Fecha_Presentacion.Value.ToString("yyyyMMdd"));
                db.AddInParameter(dbCommand, "@tipoPago", DbType.Int32, !consultaBach.Tipo_Pago.HasValue ? null : consultaBach.Tipo_Pago.Value.ToString());
                db.AddInParameter(dbCommand, "@perfil", DbType.String, string.IsNullOrEmpty(consultaBach.Perfil) ? null : consultaBach.Perfil);
                db.AddInParameter(dbCommand, "@usuarioLogueado", DbType.String, string.IsNullOrEmpty(consultaBach.Usuario_Logeado) ? null : consultaBach.Usuario_Logeado);
                db.AddInParameter(dbCommand, "@idNovedad", DbType.Int64, !consultaBach.Idnovedad.HasValue ? null : consultaBach.Idnovedad.Value.ToString());
                db.AddInParameter(dbCommand, "@soloArgenta", DbType.String, consultaBach.SoloArgenta);
                db.AddInParameter(dbCommand, "@soloEntidades", DbType.String, consultaBach.SoloEntidades);
                db.AddInParameter(dbCommand, "@idProvincia", DbType.Int32, consultaBach.Provincia == null ? null : consultaBach.Provincia.CodProvincia.ToString());
                db.AddInParameter(dbCommand, "@codpostal", DbType.Int32, !consultaBach.CodPostal.HasValue ? null : consultaBach.CodPostal.Value.ToString());
                db.AddInParameter(dbCommand, "@oficinas", DbType.String, consultaBach.Oficinas == null ? null : Oficinas_GetXML(consultaBach.Oficinas));
                db.AddInParameter(dbCommand, "@lote", DbType.String, consultaBach.Lote);
                db.AddInParameter(dbCommand, "@descEstado", DbType.String, consultaBach.DescEstado);
                db.AddInParameter(dbCommand, "@fechaCambioEstadoDesde", DbType.String, !consultaBach.FechaCambioEstadoDesde.HasValue ? null : consultaBach.FechaCambioEstadoDesde.Value.ToString("yyyyMMdd"));
                db.AddInParameter(dbCommand, "@fechaCambioEstadoHasta", DbType.String, !consultaBach.FechaCambioEstadoHasta.HasValue ? null : consultaBach.FechaCambioEstadoHasta.Value.ToString("yyyyMMdd"));
                db.AddInParameter(dbCommand, "@cuotas", DbType.Int32, !consultaBach.Cuotas.HasValue ? null : consultaBach.Cuotas.Value.ToString());
                db.AddInParameter(dbCommand, "@saldoAmortizacionDesde", DbType.Decimal, !consultaBach.SaldoAmortizacionDesde.HasValue  ? null : consultaBach.SaldoAmortizacionDesde);
                db.AddInParameter(dbCommand, "@saldoAmortizacionHasta", DbType.Decimal, !consultaBach.SaldoAmortizacionHasta.HasValue ? null : consultaBach.SaldoAmortizacionHasta);


                string result = Convert.ToString(db.ExecuteScalar(dbCommand));

                if (result == "1")
                {
                    MsgRetorno = "Existe una consulta con los mismos parametros generada recientemente.";
                }
                else if (result == "2")
                {
                    MsgRetorno = "Se esta generando una consulta con los mismos parametros. Reingrese en unos minutos";
                }
            }
            catch (SqlException sqlErr)
            {
                log.Error(string.Format("{0}->{1}-> Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), sqlErr.Source, sqlErr.Message));

                if (sqlErr.Number >= 50000)
                {
                    MsgRetorno = sqlErr.Message;
                }
                else
                {
                    throw sqlErr;
                }
            }
            catch (Exception err)
            {
                log.Error(string.Format("{0}->{1}-> Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), err.Source, err.Message));
                throw err;
            }

            return(MsgRetorno);
        }
Example #4
0
        public static string AltaNuevaConsulta(ConsultaBatch consultaBatch)
        {
            string    MsgRetorno = String.Empty;
            string    sql        = "ConsultasBatch_A_V2";
            Database  db         = DatabaseFactory.CreateDatabase("DAT_V01");
            DbCommand dbCommand  = db.GetStoredProcCommand(sql);

            try
            {
                IUsuarioToken unIUsuarioToken = new UsuarioToken();
                unIUsuarioToken.ObtenerUsuarioEnWs();

                db.AddInParameter(dbCommand, "@IDPrestador", DbType.Int64, consultaBatch.IDPrestador);
                db.AddInParameter(dbCommand, "@NombreConsulta", DbType.String, consultaBatch.NombreConsulta);
                db.AddInParameter(dbCommand, "@CriterioLiq", DbType.Int16, consultaBatch.CriterioBusqueda);
                db.AddInParameter(dbCommand, "@Opcion", DbType.Int16, consultaBatch.OpcionBusqueda);
                db.AddInParameter(dbCommand, "@PeriodoCons", DbType.String, consultaBatch.PeriodoCons); //string.IsNullOrEmpty(periodoCons) ? null : periodoCons);
                db.AddInParameter(dbCommand, "@TipoConcepto", DbType.Int16, consultaBatch.UnConceptoLiquidacion != null && consultaBatch.UnConceptoLiquidacion.UnTipoConcepto != null? consultaBatch.UnConceptoLiquidacion.UnTipoConcepto.IdTipoConcepto : 0);
                db.AddInParameter(dbCommand, "@CodConceptoLiq", DbType.Int32, consultaBatch.UnConceptoLiquidacion != null? consultaBatch.UnConceptoLiquidacion.CodConceptoLiq : 0);
                db.AddInParameter(dbCommand, "@NroBeneficio", DbType.Int64, consultaBatch.NroBeneficio.GetValueOrDefault());
                db.AddInParameter(dbCommand, "@FechaDesde", DbType.String, !consultaBatch.FechaDesde.HasValue ? null : consultaBatch.FechaDesde.Value.ToString("yyyyMMdd"));
                db.AddInParameter(dbCommand, "@FechaHasta", DbType.String, !consultaBatch.FechaHasta.HasValue ? null : consultaBatch.FechaHasta.Value.ToString("yyyyMMdd"));
                db.AddInParameter(dbCommand, "@rutaArchGenerado", DbType.String, consultaBatch.RutaArchGenerado);
                db.AddInParameter(dbCommand, "@NomArchGenerado", DbType.String, consultaBatch.NomArchGenerado);
                db.AddInParameter(dbCommand, "@Usuario", DbType.String, unIUsuarioToken.IdUsuario); // usuario);
                db.AddInParameter(dbCommand, "@FechaGeneracion", DbType.String, DateTime.MinValue.Equals(consultaBatch.FechaGenera) ? null : consultaBatch.FechaGenera.ToString("yyyyMMdd hh:mm:ss:fff"));
                db.AddInParameter(dbCommand, "@Vigente", DbType.String, consultaBatch.Vigente);
                db.AddInParameter(dbCommand, "@GeneradoAdmin", DbType.String, consultaBatch.GeneradoAdmin);

                db.AddInParameter(dbCommand, "@nroSucursal", DbType.String, string.IsNullOrEmpty(consultaBatch.Nro_Sucursal) ? string.Empty : consultaBatch.Nro_Sucursal);
                db.AddInParameter(dbCommand, "@cuilUsuario", DbType.String, string.IsNullOrEmpty(consultaBatch.CUIL_Usuario) ? null : consultaBatch.CUIL_Usuario);
                db.AddInParameter(dbCommand, "@idEstado", DbType.Int32, !consultaBatch.IdEstado_Documentacion.HasValue ? null : consultaBatch.IdEstado_Documentacion.Value.ToString());
                db.AddInParameter(dbCommand, "@nroReporte", DbType.Int32, !consultaBatch.NroReporte.HasValue ? null : consultaBatch.NroReporte.Value.ToString());
                db.AddInParameter(dbCommand, "@fPresentacion", DbType.String, !consultaBatch.Fecha_Presentacion.HasValue ? null : consultaBatch.Fecha_Presentacion.Value.ToString("yyyyMMdd"));
                db.AddInParameter(dbCommand, "@tipoPago", DbType.Int32, !consultaBatch.Tipo_Pago.HasValue ? null : consultaBatch.Tipo_Pago.Value.ToString());
                db.AddInParameter(dbCommand, "@perfil", DbType.String, string.IsNullOrEmpty(consultaBatch.Perfil) ? null : consultaBatch.Perfil);
                db.AddInParameter(dbCommand, "@idNovedad", DbType.Int64, consultaBatch.Idnovedad.HasValue ? consultaBatch.Idnovedad.Value.ToString() : null);

                db.AddInParameter(dbCommand, "@soloArgenta", DbType.String, consultaBatch.SoloArgenta);
                db.AddInParameter(dbCommand, "@soloEntidades", DbType.String, consultaBatch.SoloEntidades);
                db.AddInParameter(dbCommand, "@idProvincia", DbType.Int32, consultaBatch.Provincia == null ? null : consultaBatch.Provincia.CodProvincia.ToString());
                db.AddInParameter(dbCommand, "@codpostal", DbType.Int32, !consultaBatch.CodPostal.HasValue ? null : consultaBatch.CodPostal.Value.ToString());
                db.AddInParameter(dbCommand, "@oficinas", DbType.String, consultaBatch.Oficinas == null ? null : Oficinas_GetXML(consultaBatch.Oficinas));
                db.AddInParameter(dbCommand, "@lote", DbType.String, consultaBatch.Lote);
                db.AddInParameter(dbCommand, "@descEstado", DbType.String, consultaBatch.DescEstado);
                db.AddInParameter(dbCommand, "@regional", DbType.String, consultaBatch.Regional);
                db.AddInParameter(dbCommand, "@fechaCambioEstadoDesde", DbType.String, !consultaBatch.FechaCambioEstadoDesde.HasValue ? null : consultaBatch.FechaCambioEstadoDesde.Value.ToString("yyyyMMdd"));
                db.AddInParameter(dbCommand, "@fechaCambioEstadoHasta", DbType.String, !consultaBatch.FechaCambioEstadoHasta.HasValue ? null : consultaBatch.FechaCambioEstadoHasta.Value.ToString("yyyyMMdd"));
                db.AddInParameter(dbCommand, "@cuotas", DbType.Int32, !consultaBatch.Cuotas.HasValue ? null : consultaBatch.Cuotas.Value.ToString());
                db.AddInParameter(dbCommand, "@saldoAmortizacionDesde", DbType.Decimal, !consultaBatch.SaldoAmortizacionDesde.HasValue ? null : consultaBatch.SaldoAmortizacionDesde);
                db.AddInParameter(dbCommand, "@saldoAmortizacionHasta", DbType.Decimal, !consultaBatch.SaldoAmortizacionHasta.HasValue ? null : consultaBatch.SaldoAmortizacionHasta);

                db.ExecuteNonQuery(dbCommand);
            }

            catch (SqlException sqlErr)
            {
                log.Error(string.Format("{0}->{1}-> Error:{2}->{3}->{4}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), sqlErr.Source, sqlErr.Message, sqlErr.Number));

                if (sqlErr.Number >= 50000)
                {
                    MsgRetorno = sqlErr.Message;
                }
                else
                {
                    throw sqlErr;
                }
            }
            catch (Exception err)
            {
                log.Error(string.Format("{0}->{1}-> Error:{2}->{3}", DateTime.Now, System.Reflection.MethodBase.GetCurrentMethod(), err.Source, err.Message));
                throw err;
            }

            return(MsgRetorno);
        }
Example #5
0
    public void TraerArchivosExistentes(long idPrestador, NovedadDocumentacionWS.enum_ConsultaBatch_NombreConsulta Valor)
    {
        string filePath = Page.Request.FilePath;

        if (DirectorManager.TienePermiso("PuedeDescargarArchivos", filePath))
        {
            try
            {
                log.DebugFormat("Traigo los archivos generados para el Prestador[{0}], Tipo de busqueda [{1}] ", Prestador.ID, Valor);

                List <WSConsultaBatch.ConsultaBatch> lst_Archivos = new List <WSConsultaBatch.ConsultaBatch>();

                lst_Archivos = ConsultaBatch.Traer_ConsultaBatch(idPrestador, VariableSession.UsuarioLogeado.IdUsuario, Valor.ToString());

                log.DebugFormat("Obtuve [{0}] Archivos", lst_Archivos.Count);

                if (lst_Archivos.Count > 0)
                {
                    pnl_ArchivoGenerados.Visible = true;

                    switch (Valor)
                    {
                    case NovedadDocumentacionWS.enum_ConsultaBatch_NombreConsulta.NOVEDADES_DOCUMENTACION:
                    {
                        dg_DocEntregada.DataSource = lst_Archivos;
                        dg_DocEntregada.DataBind();
                        dg_DocEntregada.Visible = true;
                        break;
                    }

                    case NovedadDocumentacionWS.enum_ConsultaBatch_NombreConsulta.NOVEDADES_TARJETATIPO3:
                    {
                        dg_TarjetaT3.DataSource = lst_Archivos;
                        dg_TarjetaT3.DataBind();
                        dg_TarjetaT3.Visible = true;
                        break;
                    }

                    case NovedadDocumentacionWS.enum_ConsultaBatch_NombreConsulta.NOVEDADES_CANCELADASV2:
                    {
                        dg_NovCanceladas.DataSource = lst_Archivos;
                        dg_NovCanceladas.DataBind();
                        dg_NovCanceladas.Visible = true;
                        AsignoDescripcionNovedad(Valor);
                        dg_NovCanceladas.Columns[(int)enum_NovCanceladas.TipoDescuento].Visible = VariableSession.esSoloArgenta ? false : true;
                        dg_NovCanceladas.Columns[(int)enum_NovCanceladas.NroCredito].Visible    = VariableSession.esSoloArgenta || VariableSession.esControlPrestacional? true : false;
                        dg_NovCanceladas.Columns[(int)enum_NovCanceladas.FechaDesde].Visible    = VariableSession.esSoloArgenta ? true : false;
                        dg_NovCanceladas.Columns[(int)enum_NovCanceladas.FechaHasta].Visible    = VariableSession.esSoloArgenta ? true : false;
                        break;
                    }

                    case NovedadDocumentacionWS.enum_ConsultaBatch_NombreConsulta.NOVEDADES_CTACTE_INVENTARIO:
                    {
                        dg_NovCtaCteInventario.DataSource = lst_Archivos;
                        dg_NovCtaCteInventario.DataBind();
                        dg_NovCtaCteInventario.Visible = true;
                        break;
                    }

                    default:
                    {
                        ddlArchivosGenerados.DataSource = lst_Archivos;
                        ddlArchivosGenerados.DataBind();
                        ddlArchivosGenerados.Visible = true;

                        //con este codigo muestro la columna Novedad para mostrarla en el control
                        if (ddlArchivosGenerados.Items[0].Cells[2].Text != "0")
                        {
                            AsignoDescripcionNovedad(Valor);
                        }
                        else
                        {
                            ddlArchivosGenerados.Columns[2].Visible = false;
                        }
                        break;
                    }
                    }
                }
                else
                {
                    pnl_ArchivoGenerados.Visible = false;
                }
            }
            catch (ApplicationException err)
            {
                log.ErrorFormat("ApplicationException al Traer los archivos generados controlArchivos error: {0}", err.Message);
                throw;
            }
            catch (Exception err)
            {
                log.ErrorFormat("Error al Traer los archivos generados controlArchivos error: {0}", err.Message);
                throw;
            }
        }
    }
Example #6
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;
            }
        }
Example #7
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;
            }
        }