Ejemplo n.º 1
0
        public static Lista[] ListasHeredables(Lista listaActual)
        {
            ListaUnica <Lista> listasHeredables = new ListaUnica <Lista>();

            listasHeredables.AddRange(listasGuardadas.ValuesToArray());
            listasHeredables.RemoveRange(Lista.Herencias(listaActual));
            listasHeredables.RemoveRange(Lista.Herederos(listaActual));
            listasHeredables.Remove(listaActual);

            return(listasHeredables.ToArray());
        }
Ejemplo n.º 2
0
 public void Ocultar(Lista lista)
 {
     if (this.lista.Equals(lista))
     {
         throw new Exception("No se puede ocultar de la propia lista");
     }
     //quitar herederos hechos y ocultos
     Lista[] herederos = Lista.Herederos(lista);
     for (int i = 0; i < herederos.Length; i++)
     {
         QuitarHecho(herederos[i]);
         Desocultar(herederos[i]);
     }
     listasTareaOculta.Add(lista);
     QuitarHecho(lista);
 }
        public static ListaTareaHeredada[] ListasTarea(Tarea tarea, bool mostrarLista = true)
        {
            Lista[] listas;
            List <ListaTareaHeredada> listasTarea = new List <ListaTareaHeredada>();

            if (tarea != null && tarea.Lista != null && !tarea.Lista.EsTemporal)
            {
                listas = Lista.Herederos(tarea.Lista).Filtra((lista) => { return(tarea.EstaVisible(lista)); }).ToArray();
                for (int i = 0; i < listas.Length; i++)
                {
                    listasTarea.Add(new ListaTareaHeredada(listas[i], tarea, mostrarLista));
                }
                listasTarea.Add(new ListaTareaHeredada(tarea.Lista, tarea, mostrarLista));
            }
            return(listasTarea.ToArray());
        }
        private void TareaHaEliminar(ObjViewer visor)
        {
            Tarea tarea = visor.Object as Tarea;
            bool  hacer = false, esHeredada = !listaTareas.Contains(tarea);

            if (ckOmitirPregunta.IsChecked.Value || !esHeredada && MessageBox.Show("Se va a borrar de forma permanente, estas seguro?", "se requiere su atención", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes || esHeredada && MessageBox.Show("Se va ocultar", "Informacion", MessageBoxButton.OK, MessageBoxImage.Information) == MessageBoxResult.OK)
            {
                if (esHeredada)
                {
                    hacer = Lista.Herederos(listaHaEditar).Length == 0;
                    if (ckOmitirPregunta.IsChecked.Value || !hacer && MessageBox.Show("Esta lista tiene herederos  y se quitara la tarea  tambien de ellos (si esta hecha o oculta), estas conforme?", "se requiere su atención", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes)
                    {
                        hacer = true;
                    }
                }
                else
                {
                    hacer = true;
                }

                if (hacer)
                {
                    try
                    {
                        tarea.Ocultar(listaHaEditar);
                    }
                    catch
                    {
                        Tarea.Eliminar(tarea);
                    }

                    main.ActivarTemporizadorAutoSave();
                    main.PonTareasLista();
                    stkTareasLista.Children.Remove(visor);
                    CerrarSiNoHayTareasHaEliminar();
                }
            }
        }