コード例 #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>();

        string Mensual = DateTime.Parse(ctr_Busqueda.Value_Mensual).ToString("yyyyMMdd");

        //byte CriterioLiq = byte.Parse(ctr_Busqueda.Value_Criterio);
        byte CriterioLiq = byte.Parse(ctr_Busqueda.cmb_Criterio.SelectedItem.Value);

        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);
        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}",
                            Mensual.ToString(), CriterioLiq, Filtro, Prestador, NroBeneficio, TipoConcepto, Concepto, GeneraArchivo);

            string RutaSalidaArchivo = string.Empty;

            // Trae las Novedades Liquidadas
            lst_Novedades = Novedad.Novedades_Traer_Liquidadas(CriterioLiq, Filtro, Prestador, NroBeneficio, TipoConcepto,
                                                               Concepto, Mensual, 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;

                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 (string.IsNullOrEmpty(RutaSalidaArchivo))
                {
                    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: ", 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
                {
                    log.ErrorFormat("Al buscar las novedades liquidadas se gentero error: ", err.Message);
                }
            }
        }
        finally
        {
            oNovedad.Dispose();
        }
        #endregion Ejecuto la Consulta
    }