/// <summary>
 /// Asiga el resultado de la busqueda al Contexto
 /// de la ayuda
 /// </summary>
 /// <param name="contextoBusqueda"></param>
 /// <param name="contextoActual"></param>
 /// <param name="cancelado"></param>
 private void AsignaResultadoPantallaBusqueda(dynamic contextoBusqueda, dynamic contextoActual, bool cancelado)
 {
     if (cancelado)
     {
         if (EsBindeable)
         {
             AuxAyuda.AsignaValoresInfo(Contexto, contextoActual);
             VerificaLimpiarCampos(Contexto);
         }
     }
     else
     {
         AuxAyuda.AsignaValoresInfo(Contexto, contextoBusqueda);
         if (!EsBindeable)
         {
             AsignarValoresBusqueda(contextoBusqueda);
         }
         AsignarFoco();
         var keyboardFocus = Keyboard.FocusedElement as UIElement;
         var tRequest      = new TraversalRequest(FocusNavigationDirection.Next);
         if (keyboardFocus != null)
         {
             keyboardFocus.MoveFocus(tRequest);
         }
         if (AyudaConDatos != null)
         {
             BusquedaActivada = false;
             AyudaConDatos(this, EventArgs.Empty);
         }
     }
 }
        private void AsignarValoresSeleccionadosGrid()
        {
            dynamic renglonSeleccionado = dgConsulta.SelectedItem;

            if (renglonSeleccionado != null)
            {
                AuxAyuda.AsignaValoresInfo(Contexto, renglonSeleccionado);
                confirmaSalir = false;
                Close();
            }
        }
        /// <summary>
        /// Asiga los Valores que se han Seleccionado
        /// en el Grid
        /// </summary>
        /// <returns></returns>
        private bool AsignarValoresSeleccionados()
        {
            var     elementoSeleccionado = false;
            dynamic renglonSeleccionado  = dgConsulta.SelectedItem;

            if (renglonSeleccionado != null)
            {
                elementoSeleccionado = true;
                AuxAyuda.AsignaValoresInfo(Contexto, renglonSeleccionado);
            }
            return(elementoSeleccionado);
        }
Beispiel #4
0
        /// <summary>
        /// Asigna los valores del renglon seleccionado
        /// </summary>
        private void AsignarValoresSeleccionadosGrid()
        {
            var renglonSeleccionado = (T)grdDatos.SelectedItem;

            if (renglonSeleccionado != null)
            {
                AuxAyuda.AsignaValoresInfo(Info, renglonSeleccionado);
                AsignaValorPropiedadesControl(renglonSeleccionado);
                confirmaSalir = false;
                Close();
            }
        }
Beispiel #5
0
        /// <summary>
        /// Asiga los Valores que se han Seleccionado
        /// en el Grid
        /// </summary>
        /// <returns></returns>
        private bool AsignarValoresSeleccionados()
        {
            var elementoSeleccionado = false;
            var renglonSeleccionado  = (T)grdDatos.SelectedItem;

            if (renglonSeleccionado != null)
            {
                elementoSeleccionado = true;
                AuxAyuda.AsignaValoresInfo(Info, renglonSeleccionado);
                AsignaValorPropiedadesControl(renglonSeleccionado);
            }
            return(elementoSeleccionado);
        }
Beispiel #6
0
        /// <summary>
        /// Genera columnas ocultas para el grid
        /// </summary>
        /// <param name="grid"></param>
        private void GenerarColumnasOcultas(DataGrid grid)
        {
            var headerColId          = AuxAyuda.ObtenerEncabezadoGrid(Info, PropiedadClave, AtributoClave);
            var headerColDescripcion = AuxAyuda.ObtenerEncabezadoGrid(Info, PropiedadDescripcion, AtributoDescripcion);

            var column = new DataGridTextColumn
            {
                Header  = headerColId,
                Binding = new Binding(PropiedadClave),
                Width   = new DataGridLength(100)
            };

            grdDatos.Columns.Add(column);

            column = new DataGridTextColumn
            {
                Header  = headerColDescripcion,
                Binding = new Binding(PropiedadDescripcion),
                Width   = new DataGridLength(536)
            };
            grdDatos.Columns.Add(column);

            if (!String.IsNullOrWhiteSpace(PropiedadIdOcultoGrid))
            {
                column = new DataGridTextColumn
                {
                    Binding    = new Binding(PropiedadIdOcultoGrid),
                    Visibility = Visibility.Hidden
                };
                grdDatos.Columns.Add(column);
            }
            var propiedades = Info.GetType().GetProperties();

            foreach (var propertyInfo in propiedades)
            {
                if (string.CompareOrdinal(propertyInfo.Name, PropiedadClave) != 0 &&
                    string.CompareOrdinal(propertyInfo.Name, PropiedadDescripcion) != 0 &&
                    string.CompareOrdinal(propertyInfo.Name, PropiedadIdOcultoGrid) != 0)
                {
                    column = new DataGridTextColumn
                    {
                        Binding    = new Binding(propertyInfo.Name),
                        Visibility = Visibility.Hidden
                    };
                    grdDatos.Columns.Add(column);
                }
            }
        }
 /// <summary>
 /// Asigna los valores obtenidos
 /// en la consulta a los controles
 /// </summary>
 /// <param name="resultado"></param>
 private void AsiganaValores(object resultado)
 {
     if (EsBindeable)
     {
         AuxAyuda.AsignaValoresInfo(Contexto, resultado);
     }
     else
     {
         txtClave.Text       = Convert.ToString(resultado.GetType().GetProperty(CampoClave).GetValue(resultado, null));
         txtDescripcion.Text =
             Convert.ToString(resultado.GetType().GetProperty(CampoDescripcion).GetValue(resultado, null));
         if (!string.IsNullOrWhiteSpace(CampoLlaveOcultaClave))
         {
             txtOculto.Text =
                 Convert.ToString(resultado.GetType().GetProperty(CampoLlaveOcultaClave).GetValue(resultado,
                                                                                                  null));
         }
     }
 }
Beispiel #8
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);
            }
        }
Beispiel #9
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);
            }
        }