/// <summary> /// valida si la ya hay una alerta registrada al modulo especificado /// </summary> /// <param name="filtro">alerta cuya descripcion y modulo asignado se validaran</param> /// <returns></returns> private bool ExisteAlerta(AlertaInfo filtro) { try { if (filtro.Modulo.ModuloID == ContextoSinEditar.Modulo.ModuloID && filtro.Descripcion == ContextoSinEditar.Descripcion)//si el registro no se modifico en el modulo ni descripcion { return(false); } var filtrosAlertas = (AlertaInfo)Extensor.ClonarInfo(filtro); bool result = AlertaPL.ExisteAlerta(filtrosAlertas); return(result); //regresa true si se encontro la alerta } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Alerta_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); return(false); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Alerta_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); return(false); } }
/// <summary> /// Guarda o actualiza los datos de la alerta /// </summary> private void GuardarCambios() { try { if (ValidaGuardar()) //si se proporcionaron los datos necesarios para guardar o editar los datos de la alerta { if (ExisteAlerta(Contexto)) //si la alerta ya esta registrada se manda un mensaje de error y no deja proseguir al usuario { string error = string.Format(Properties.Resources.Msg_AlertaExistente, Contexto.Modulo.Descripcion); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], error, MessageBoxButton.OK, MessageImage.Error); } else { //procede a guardar los cambios o el registro nuevo AlertaPL.Guardar(Contexto);//registra o actualiza los datos de la entrada SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct); if (operacion == Operation.Editar)//si la operacion fue registro de alerta se cierra la ventana { ForzarCierre = true; confirmaSalir = false; Close(); } confirmaSalir = false;//si la operacion fue edicion de alerta no se cierra, solo se borran los datos de la interfaz: InicializaContexto(); } } } catch (Exception ex) { Logger.Error(ex);//registra el error en el "log" de sucesos del sistema SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RegistrarAlerta_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } }