コード例 #1
0
        /// <summary>
        /// Obtiene los Valores para Mostrarlos en el
        /// Grid de Ayuda
        /// </summary>
        /// <param name="inicio"></param>
        /// <param name="limite"></param>
        public void ObtenerValoresAyudaCamposInfo(int inicio, int limite)
        {
            var tiposParametros   = new List <Type>();
            var valoresParametros = new List <Object>();

            try
            {
                if (grdDatos.Items.Count > 0)
                {
                    grdDatos.ItemsSource = null;
                    grdDatos.Items.Clear();
                }

                var filtro           = txtValorFiltro.Text;
                var metodoInvocacion = MetodoPaginado;
                var paginacionInfo   = new PaginacionInfo {
                    Inicio = inicio, Limite = limite
                };
                AuxAyuda.AgregarFiltros(false, paginacionInfo, tiposParametros, valoresParametros);

                var propiedad = String.Empty;
                for (int indexCamposInfo = 0; indexCamposInfo < CamposInfo.Count; indexCamposInfo++)
                {
                    var indice = CamposInfo[indexCamposInfo].IndexOf("ID");

                    if (indice < 0)
                    {
                        propiedad = CamposInfo[indexCamposInfo];
                    }
                }

                Info.GetType().GetProperty(propiedad).SetValue(Info, filtro, null);
                AuxAyuda.AgregarFiltros(false, Info, tiposParametros, valoresParametros);

                object     resultadoInvocacion = null;
                var        ayudaTipo           = AyudaPL.GetType();
                MethodInfo metodo;
                if (Dependencias == null)
                {
                    metodo = ayudaTipo.GetMethod(metodoInvocacion, tiposParametros.ToArray());
                    if (metodo != null)
                    {
                        resultadoInvocacion = metodo.Invoke(AyudaPL, valoresParametros.ToArray());
                    }
                }
                else
                {
                    AuxAyuda.AgregarFiltros(false, Dependencias, tiposParametros, valoresParametros);
                    metodo = ayudaTipo.GetMethod(metodoInvocacion, tiposParametros.ToArray());
                    if (metodo != null)
                    {
                        resultadoInvocacion = metodo.Invoke(AyudaPL, valoresParametros.ToArray());
                    }
                }
                var resultadoInfo = (ResultadoInfo <T>)resultadoInvocacion;
                if (resultadoInfo != null && resultadoInfo.Lista != null && resultadoInfo.Lista.Count > 0)
                {
                    pagControl.TotalRegistros = resultadoInfo.TotalRegistros;
                    AsignarValoresGridCamposInfo(resultadoInfo.Lista);
                }
                else
                {
                    pagControl.TotalRegistros = 0;
                }
            }
            catch (ExcepcionGenerica)
            {
                SkMessageBox.Show(this, SuKarne.Controls.Properties.Resources.Ayuda_MensajeError, MessageBoxButton.OK, MessageImage.Error);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(this, SuKarne.Controls.Properties.Resources.Ayuda_MensajeError, MessageBoxButton.OK, MessageImage.Error);
            }
        }
コード例 #2
0
        /// <summary>
        /// Obtiene los Valores para Mostrarlos en el
        /// Grid de Ayuda
        /// </summary>
        /// <param name="inicio"></param>
        /// <param name="limite"></param>
        public void ObtenerValoresAyuda(int inicio, int limite)
        {
            var tiposParametros   = new List <Type>();
            var valoresParametros = new List <Object>();

            try
            {
                if (grdDatos.Items.Count > 0)
                {
                    grdDatos.ItemsSource = null;
                    grdDatos.Items.Clear();
                }
                var filtro = txtValorFiltro.Text;
                if (string.Compare(filtro.Trim(), descripcionAnterior.Trim(), StringComparison.CurrentCultureIgnoreCase) != 0)
                {
                    descripcionAnterior = filtro;
                    pagControl.Inicio   = 1;
                    inicio = 1;
                }
                var metodoInvocacion = AuxAyuda.ObtenerMetodoEjecutar(Info, PropiedadDescripcion, true,
                                                                      AtributoDescripcion);
                var paginacionInfo = new PaginacionInfo {
                    Inicio = inicio, Limite = limite
                };
                AuxAyuda.AgregarFiltros(false, paginacionInfo, tiposParametros, valoresParametros);

                try
                {
                    Info.GetType().GetProperty(PropiedadDescripcion).SetValue(Info, filtro, null);
                }
                catch (Exception)
                {
                    Info.GetType().GetProperty(PropiedadDescripcion).SetValue(Info, 0, null);
                }


                AuxAyuda.AgregarFiltros(false, Info, tiposParametros, valoresParametros);

                object     resultadoInvocacion = null;
                var        ayudaTipo           = AyudaPL.GetType();
                MethodInfo metodo;
                if (Dependencias == null)
                {
                    metodo = ayudaTipo.GetMethod(metodoInvocacion, tiposParametros.ToArray());
                    if (metodo != null)
                    {
                        resultadoInvocacion = metodo.Invoke(AyudaPL, valoresParametros.ToArray());
                    }
                }
                else
                {
                    AuxAyuda.AgregarFiltros(false, Dependencias, tiposParametros, valoresParametros);
                    metodo = ayudaTipo.GetMethod(metodoInvocacion, tiposParametros.ToArray());
                    if (metodo != null)
                    {
                        resultadoInvocacion = metodo.Invoke(AyudaPL, valoresParametros.ToArray());
                    }
                }
                var resultadoInfo = (ResultadoInfo <T>)resultadoInvocacion;
                if (resultadoInfo != null && resultadoInfo.Lista != null && resultadoInfo.Lista.Count > 0)
                {
                    pagControl.TotalRegistros = resultadoInfo.TotalRegistros;
                    grdDatos.ItemsSource      = resultadoInfo.Lista;
                }
                else
                {
                    pagControl.TotalRegistros = 0;
                }
            }
            catch (ExcepcionGenerica)
            {
                SkMessageBox.Show(this, SuKarne.Controls.Properties.Resources.Ayuda_MensajeError, MessageBoxButton.OK, MessageImage.Error);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(this, SuKarne.Controls.Properties.Resources.Ayuda_MensajeError, MessageBoxButton.OK, MessageImage.Error);
            }
        }