Пример #1
0
        //loadXml
        public static Lista LoadNodoXml(XmlNode nodoListas)
        {
            XmlNode nodo, nodoListaTemporal = nodoListas.ChildNodes[0].FirstChild;
            Lista   lista;
            long    idLista;

            listasGuardadas.Clear();
            //pongo las listas guardadas
            nodoListas = nodoListas.ChildNodes[1];
            //creo las listas
            for (int i = 0; i < nodoListas.ChildNodes.Count; i++)
            {
                lista = new Lista(nodoListas.ChildNodes[i]);
                listasGuardadas.Add(lista.IdUnico, lista);
            }
            //pongo la herencia
            for (int i = 0; i < nodoListas.ChildNodes.Count; i++)
            {
                idLista = Convert.ToInt64(nodoListas.ChildNodes[i].ChildNodes[(int)NodoLista.Id].InnerText);
                nodo    = nodoListas.ChildNodes[i].ChildNodes[(int)NodoLista.Herencia];
                PonHerenciaXml(nodo, listasGuardadas[idLista]);
            }
            //añado tareas ocultas y hechas
            for (int j = 0; j < nodoListas.ChildNodes.Count; j++)
            {
                nodo = nodoListas.ChildNodes[j];
                PonTareasHechasYOclutasXml(nodo, listasGuardadas[Convert.ToInt64(nodo.ChildNodes[(int)NodoLista.Id].InnerText)]);
            }
            if (nodoListaTemporal != null && nodoListaTemporal.HasChildNodes)
            {
                lista = new Lista(nodoListaTemporal);
                PonHerenciaXml(nodoListaTemporal.ChildNodes[(int)NodoLista.Herencia], lista);
                PonTareasHechasYOclutasXml(nodoListaTemporal, lista);
            }
            else
            {
                lista = null;
            }
            return(lista);
        }
Пример #2
0
        //saveXml
        public static XmlNode SaveNodoXml(Lista listaTemporal = null)
        {
            XmlDocument   xmldoc  = new XmlDocument();
            StringBuilder strNodo = new StringBuilder("<Listas>");

            strNodo.Append("<ListaTemporal>");
            if (listaTemporal != null)
            {
                strNodo.Append(listaTemporal.ToXml().OuterXml);
            }
            strNodo.Append("</ListaTemporal>");
            strNodo.Append("<ListasGuardadas>");
            foreach (KeyValuePair <long, Lista> lista in listasGuardadas)
            {
                strNodo.Append(lista.Value.ToXml().OuterXml);
            }
            strNodo.Append("</ListasGuardadas>");
            strNodo.Append("</Listas>");
            xmldoc.LoadXml(strNodo.ToString());
            xmldoc.Normalize();
            return(xmldoc.FirstChild);
        }
Пример #3
0
        public static Tarea[] TareasVisibles(Lista lista)
        {
            ListaUnica <Tarea> tareasVisibles = new ListaUnica <Tarea>();

            Lista[] herencia = lista.Herencia();
            Tarea[] tareas;
            tareasVisibles.AddRange(Tarea.TareasLista(lista));
            for (int i = 0; i < herencia.Length; i++)
            {
                tareas = TareasVisibles(herencia[i]);
                for (int j = 0; j < tareas.Length; j++)
                {
                    if (!tareasVisibles.Contains(tareas[j]))
                    {
                        tareasVisibles.Add(tareas[j]);
                    }
                }
            }
            tareasVisibles.RemoveRange(TareasOcultas(lista));

            return(tareasVisibles.ToArray());
        }
 void TxtBxTextoHaBuscar_TextChanged(object sender, TextChangedEventArgs e)
 {
     Tarea[] tareas;
     Lista[] listas;
     stkListasEncontradas.Children.Clear();
     if (rdBtnDescripcionTarea.IsChecked.Value)
     {
         //busco las tareas que contienen esa descripcion
         tareas = Tarea.Obtener(txtBxTextoHaBuscar.Text);
         //pongo las listas
         for (int i = 0; i < tareas.Length; i++)
         {
             stkListasEncontradas.Children.AddRange(ListaTareaHeredada.ListasTarea(tareas[i]).ToObjViewerArray(VisualizaLista));
         }
     }
     else
     {
         //busco las listas que contienen ese nombre
         listas = Lista.Obtener(txtBxTextoHaBuscar.Text);
         stkListasEncontradas.Children.AddRange(listas.ToObjViewerArray(VisualizaLista));
     }
 }
        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();
                }
            }
        }
Пример #6
0
        public static void QuitarHerederos(Lista listaActual)
        {
            Lista[]  herederos   = HerederosDirectos(listaActual);
            Tarea[]  tareasLista = Tarea.TareasLista(listaActual);
            DateTime fechaHecho;

            for (int i = 0; i < herederos.Length; i++)
            {
                herederos[i].herencia.Remove(listaActual);
            }
            for (int i = 0; i < tareasLista.Length; i++)
            {
                fechaHecho = default(DateTime);
                if (tareasLista[i].EstaHecha(listaActual))
                {
                    fechaHecho = tareasLista[i].FechaHecho(listaActual);
                }
                tareasLista[i].VaciarListaHechosYOcultos();
                if (!fechaHecho.Equals(default(DateTime)))
                {
                    tareasLista[i].AñadirHecho(listaActual, fechaHecho);
                }
            }
        }
        private void  ISave(string nombre)
        {
            Action        act;
            XmlDocument   xml;
            StringBuilder strSave = new StringBuilder();

            if (Dispatcher.InvokeRequired())
            {
                act = () => ISave(nombre);
                Dispatcher.BeginInvoke(act).Wait();
            }
            else
            {
                try
                {
                    if (hiloCargarTareas != null)
                    {
                        hiloCargarTareas.Abort();
                    }

                    xml = new XmlDocument();
                    strSave.Append("<TareasPendientes>");
                    strSave.Append(Categoria.SaveXmlNodo().OuterXml);
                    strSave.Append(Lista.SaveNodoXml(listaActual.EsTemporal ? listaActual : null).OuterXml);
                    strSave.Append("</TareasPendientes>");
                    xml.LoadXml(strSave.ToString());
                    xml.Normalize();
                    xml.Save(nombre);
                    guardado = true;
                }
                finally
                {
                    //     temporizadorAutoSave.StopAndAbort();
                }
            }
        }
Пример #8
0
 public Tarea(Lista lista, XmlNode nodo)
     : this(lista, nodo.ChildNodes[(int)TareaXml.Descripcion].InnerText.DescaparCaracteresXML(), Convert.ToInt64(nodo.ChildNodes[(int)TareaXml.IdUnico].InnerText))
 {
 }
Пример #9
0
        //solo si esa lista tiene la tarea por herencia sino la elimina

        public Tarea(Lista lista, string contenido)
            : this(lista, contenido, DateTime.Now.Ticks)
        {
        }
Пример #10
0
 public bool EstaDentro(Lista listaActual)
 {
     return(listasDeLaCategoria.Contains(listaActual));
 }
Пример #11
0
 public static Tarea[] TareasHeredadas(Lista lista)
 {
     return(lista.ToArray().Except(TareasLista(lista)).ToArray());
 }
Пример #12
0
 public void Quitar(Lista lista)
 {
     listasDeLaCategoria.Remove(lista);
 }
 private void CreaListaNueva()
 {
     listaActual = new Lista(txboxNombreLista.Text);
 }
Пример #14
0
 public VisorTarea(Lista lista, Tarea tarea)
 {
     InitializeComponent();
     this.lista = lista;
     this.Tarea = tarea;
 }
 public ListaTareaHeredada(Lista lista, Tarea tarea, bool mostrarLista)
 {
     this.Lista        = lista;
     this.Tarea        = tarea;
     this.mostrarLista = mostrarLista;
 }
Пример #16
0
 public bool EstaVisible(Lista lista)
 {
     return(tareasPorLista.ContainsKey(lista) && (tareasPorLista[lista].Contains(this) || !listasTareaOculta.Contains(lista)));
 }
Пример #17
0
 public bool EstaHecha(Lista lista)
 {
     return(listasTareaHecha.ContainsKey(lista));
 }
Пример #18
0
 public static Lista[] Herederos(Lista lista)
 {
     Lista[] herederos = IHerederos(lista).Except(new Lista[] { lista }).ToArray();
     return(herederos);
 }
Пример #19
0
 public static Lista[] HerederosDirectos(Lista lista)
 {
     return(listasGuardadas.Filtra((listaHeredera) =>
                                   listaHeredera.Value.herencia.Contains(lista)
                                   ).ValuesToArray());
 }
Пример #20
0
 public static Lista[] Herencias(Lista listaActual)
 {
     return(IHerencias(listaActual).Except(new Lista[] { listaActual }).ToArray());
 }
Пример #21
0
 public Tarea(Lista lista)
     : this(lista, "")
 {
 }
Пример #22
0
 public VisorTarea(Lista lista) : this(lista, null)
 {
     Tarea = Tarea;
 }
Пример #23
0
 public void AñadirHecho(Lista lista, DateTime fechaHecho)
 {
     listasTareaHecha.AddOrReplace(lista, fechaHecho);
 }
Пример #24
0
 public void QuitarHecho(Lista lista)
 {
     listasTareaHecha.Remove(lista);
 }
Пример #25
0
 public void Desocultar(Lista lista)
 {
     listasTareaOculta.Remove(lista);
 }
Пример #26
0
 public DateTime FechaHecho(Lista lista)
 {
     return(listasTareaHecha[lista]);
 }
Пример #27
0
 public bool EsHeredable(Lista lista)
 {
     return(((IList <Lista>)ListasHeredables(this)).Contains(lista));
 }