/// <summary> /// Método para guardar los valores del contexto /// </summary> private void Guardar() { bool guardar = ValidaGuardar(); if (guardar) { try { var accionPL = new AccionPL(); accionPL.Guardar(Contexto); SkMessageBox.Show(this, Properties.Resources.GuardadoConExitoAccion, MessageBoxButton.OK, MessageImage.Correct); // valido si el id es diferente de cero cuando se edita la accion que se cierrre la ventana. if (Contexto.AccionID != 0) { confirmaSalir = false; Close(); } txtDescripcion.Clear(); txtDescripcion.Focus(); } catch (ExcepcionGenerica) { SkMessageBox.Show(this, Properties.Resources.Accion_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(this, Properties.Resources.Accion_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } } }
/// <summary> /// Metodo de validar al guardar la edicion de una acción. /// </summary> /// <returns></returns> private bool ValidaGuardar() { bool resultado = true; string mensaje = string.Empty; try { // si esta en blanco manda un mensaje que es requerido el campo descripcion. if (string.IsNullOrWhiteSpace(txtDescripcion.Text) && txtDescripcion.Text.Trim() == string.Empty) { resultado = false; mensaje = Properties.Resources.AccionEdicion_MsgDescripcionRequerida; txtDescripcion.Focus(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.AccionEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { // se realiza la accion para la busqueda por descripcion para no editar y asignarle una descripcion igual a una ya existente. //var AccionPL = new AccionPL(); AdministrarAccionInfo accion = AccionPL.ObtenerPorDescripcion(Contexto.Descripcion.Trim()); if (accion != null && (Contexto.AccionID == 0 || Contexto.AccionID != accion.AccionID)) { resultado = false; mensaje = string.Format(Properties.Resources.AccionEdicion_MsgDescripcionExistente, accion.AccionID); } else if (Contexto.Activo == EstatusEnum.Inactivo) { bool validacion = AccionPL.ValidarAsignacionesAsignadasById(Contexto.AccionID); if (validacion) { resultado = false; mensaje = string.Format(Properties.Resources.AccionEdicion_MsgAccionConfigurada); } } } } catch (Exception ex) { throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(resultado); }
/// <summary> /// Ontiene la lista /// </summary> /// <param name="inicio">posicion del primer registro que se mostrara(el valor inicial es 1)</param> /// <param name="limite">posicion del ultimo registro que se mostrara en esta pagina</param> private void ObtenerListaAcciones(int inicio, int limite) { try { if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } // se crean los filtros para le paginado para posterior mandar llamar el SP. //var AccionPL = new AccionPL(); AdministrarAccionInfo filtros = ObtenerFiltros(); var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <AdministrarAccionInfo> resultadoInfo = AccionPL.ObtenerPorPagina(pagina, filtros); if (resultadoInfo != null && resultadoInfo.Lista != null && resultadoInfo.Lista.Count > 0) { gridDatos.ItemsSource = resultadoInfo.Lista; ucPaginacion.TotalRegistros = resultadoInfo.TotalRegistros; } else { ucPaginacion.TotalRegistros = 0; gridDatos.ItemsSource = new List <AdministrarAcciones>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Accion_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Accion_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }