/// <summary> /// Evento para Editar un registro /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnEditar_Click(object sender, RoutedEventArgs e) { var botonEditar = (Button)e.Source; try { var problemaInfoSelecionado = (ProblemaInfo)Extensor.ClonarInfo(botonEditar.CommandParameter); if (problemaInfoSelecionado != null) { using (var tipoProblemaBL = new TipoProblemaBL()) { problemaInfoSelecionado.TipoProblema = tipoProblemaBL.ObtenerPorID(problemaInfoSelecionado.TipoProblemaID); } var problemaEdicion = new ProblemaEdicion(problemaInfoSelecionado) { ucTitulo = { TextoTitulo = Properties.Resources.Problema_Editar_Titulo } }; MostrarCentrado(problemaEdicion); ReiniciarValoresPaginador(); Buscar(); } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Problema_ErrorEditar, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Método para guardar los valores del contexto /// </summary> private void Guardar() { bool guardar = ValidaGuardar(); if (guardar) { try { using (var tipoProblemaBL = new TipoProblemaBL()) { int tipoProblemaID = Contexto.TipoProblemaId; tipoProblemaBL.Guardar(Contexto); SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct); if (tipoProblemaID != 0) { confirmaSalir = false; Close(); } else { InicializaContexto(); } } } catch (ExcepcionGenerica) { SkMessageBox.Show(this, Properties.Resources.TipoProblema_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(this, Properties.Resources.TipoProblema_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } } }
/// <summary> /// Metodo que valida los datos para guardar /// </summary> /// <returns></returns> private bool ValidaGuardar() { bool resultado = true; string mensaje = string.Empty; try { if (string.IsNullOrWhiteSpace(Contexto.Descripcion)) { resultado = false; mensaje = Properties.Resources.TipoProblemaEdicion_MsgDescripcionRequerida; txtDescripcion.Focus(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.TipoProblemaEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { int tipoProblemaId = Contexto.TipoProblemaId; string descripcion = Contexto.Descripcion; using (var tipoProblemaBL = new TipoProblemaBL()) { TipoProblemaInfo tipoProblema = tipoProblemaBL.ObtenerPorDescripcion(descripcion); if (tipoProblema != null && (tipoProblemaId == 0 || tipoProblemaId != tipoProblema.TipoProblemaId)) { resultado = false; mensaje = string.Format(Properties.Resources.TipoProblemaEdicion_MsgDescripcionExistente, tipoProblema.TipoProblemaId); } } } } catch (Exception ex) { throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(resultado); }
/// <summary> /// Carga los datos de la entidad Tipo Problema /// </summary> private void CargaComboTipoProblema() { using (var tipoProblemaBL = new TipoProblemaBL()) { var tipoProblema = new TipoProblemaInfo { TipoProblemaId = 0, Descripcion = Properties.Resources.cbo_Seleccione, }; IList <TipoProblemaInfo> listaTipoProblema = tipoProblemaBL.ObtenerTodos(EstatusEnum.Activo); listaTipoProblema.Insert(0, tipoProblema); cmbTipoProblema.ItemsSource = listaTipoProblema; if (Contexto.ProblemaID == 0) { cmbTipoProblema.SelectedItem = tipoProblema; } } }
/// <summary> /// Obtiene una lista de los tipo de problemas activos /// </summary> private void ObtenerListaTiposProblema() { using (var tipoProblemaBL = new TipoProblemaBL()) { var tipoProblema = new TipoProblemaInfo { TipoProblemaId = 0, Descripcion = Properties.Resources.cbo_Seleccionar, }; IList <TipoProblemaInfo> listaTipoProblema = tipoProblemaBL.ObtenerTodos(EstatusEnum.Activo); listaTipoProblema.Insert(0, tipoProblema); cmbTipoProblema.ItemsSource = listaTipoProblema; if (Contexto.TipoProblemaID == 0) { cmbTipoProblema.SelectedItem = tipoProblema; //cmbTipoProblema.DisplayMemberPath = "Descripcion"; } } }
/// <summary> /// Obtiene la lista para mostrar en el grid /// </summary> private void ObtenerListaTipoProblema(int inicio, int limite) { try { using (var tipoProblemaBL = new TipoProblemaBL()) { if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <TipoProblemaInfo> resultadoInfo = tipoProblemaBL.ObtenerPorPagina(pagina, Contexto); 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 <TipoProblema>(); } } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TipoProblema_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TipoProblema_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }