コード例 #1
0
    private void BotonBuscar()
    {
        log.Debug("Voy a buscar los datos para llenar la grilla");

        #region Ejecuto la Consulta


        WSNovedad.NovedadWS oNovedad = new WSNovedad.NovedadWS();
        oNovedad.Url         = ConfigurationManager.AppSettings["WSNovedad.NovedadWS"];
        oNovedad.Credentials = CredentialCache.DefaultCredentials;

        List <WSNovedad.Novedad> lst_Novedades = new List <WSNovedad.Novedad>();

        byte Filtro       = byte.Parse(ctr_Busqueda.Value_Criterio_Filtrado);
        long Prestador    = ctr_Prestador.Prestador.ID;
        long NroBeneficio = long.Parse(ctr_Busqueda.Text_Nro_Beneficio);

        byte TipoConcepto = byte.Parse(ctr_Busqueda.Value_Tipo_Descuento);

        int Concepto = int.Parse(ctr_Busqueda.Value_Concepto);

        int Mensual = int.Parse(VariableSession.oCierreProx.Mensual);

        DateTime?FechaDesde = null;
        if (!string.IsNullOrEmpty(ctr_Busqueda.Text_Fecha_Desde))
        {
            FechaDesde = ctr_Busqueda.Value_Fecha_Desde;
        }

        DateTime?FechaHasta = null;
        if (!string.IsNullOrEmpty(ctr_Busqueda.Text_Fecha_Hasta))
        {
            FechaHasta = ctr_Busqueda.Value_Fecha_Hasta;
        }

        bool GeneraArchivo = ctr_Busqueda.Value_Generar_Archivo;

        string rutaArchivo = string.Empty;

        try
        {
            log.DebugFormat("voy a consultar las novedades en InvocaWsDao.NovedadesTraerConsulta parametros {0},{1},{2},{3},{4},{5},{6},{7},{8}",
                            Filtro, Prestador, NroBeneficio, TipoConcepto, Concepto, Mensual, FechaDesde, FechaHasta, GeneraArchivo);

            string RutaSalidaArchivo = string.Empty;

            lst_Novedades = Novedad.NovedadesTraerConsulta(Filtro, Prestador, NroBeneficio, TipoConcepto, Concepto, Mensual, FechaDesde, FechaHasta, GeneraArchivo, out RutaSalidaArchivo);

            log.DebugFormat("Se obtuvieron {0} Novedades", lst_Novedades.Count);

            if (lst_Novedades.Count > 0)
            {
                pnl_Resultado.Visible        = true;
                dgResultado.CurrentPageIndex = 0;
                dgResultado.DataSource       = lst_Novedades;
                dgResultado.DataBind();

                NovedadesListadas = lst_Novedades;
                string filePath = Page.Request.FilePath;
                dgResultado.Columns[7].Visible = DirectorManager.TienePermiso("column_ver_detalle", filePath);

                lbl_FechaCierre.Text = "Mensual:&nbsp;&nbsp;" + VariableSession.oCierreAnt.Mensual + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fecha próx. cierre:&nbsp;&nbsp;" + VariableSession.oCierreProx.FecCierre;
            }
            else
            {
                pnl_Resultado.Visible = false;
                lbl_FechaCierre.Text  = string.Empty;

                if (RutaSalidaArchivo == string.Empty)
                {
                    mensaje.DescripcionMensaje = "No existen novedades cargadas para el filtro ingresado.";
                }
                else
                {
                    mensaje.TipoMensaje        = Controls_Mensaje.infoMensaje.Alerta;
                    mensaje.DescripcionMensaje = "Se ha generado un archivo con la consulta solicitada.";
                }

                mensaje.Mostrar();
            }
        }
        catch (ApplicationException err)
        {
            log.ErrorFormat("Al buscar las novedades se gentero una ApplicationException: {0}", err.Message);
            mensaje.DescripcionMensaje = err.Message;
            mensaje.Mostrar();
        }
        catch (Exception err)
        {
            if (err.Message.IndexOf("MSG_ERROR") >= 0)
            {
                int posInicial = err.Message.IndexOf("MSG_ERROR") + ("MSG_ERROR").Length;
                int posFinal   = err.Message.IndexOf("FIN_MSG_ERROR", posInicial);

                string mens = err.Message.Substring(posInicial, posFinal - posInicial);

                mensaje.DescripcionMensaje = mens;
                mensaje.Mostrar();
            }
            else
            {
                if (err.Message == "The operation has timed-out.")
                {
                    mensaje.DescripcionMensaje = "Reingrese en unos minutos. Su archivo se esta procesando.";
                    mensaje.Mostrar();
                }
                else
                {
                    //CargaGrillaArchivosExistentes();
                    log.ErrorFormat("Al buscar las novedades se gentero error: {0}", err.Message);
                    mensaje.DescripcionMensaje = "No se pudieron obtener los datos.<br/>Reintente en otro momento.";
                    mensaje.Mostrar();
                }
            }
        }
        finally
        {
            oNovedad.Dispose();
        }
        #endregion Ejecuto la Consulta
    }