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