/// <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); }
/// <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(); } }
/// <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); }
/// <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)); } } }
/// <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); } }
/// <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); } }