static void NuevaTarea() { Console.Clear(); Console.WriteLine("*********Nueva tarea************"); Console.Write("Nombre de la tarea:"); string nombre = Console.ReadLine(); Console.Write("Descripcion de la tarea:"); string descripcion = Console.ReadLine(); Console.Write("Fecha de la tarea:"); DateTime fechaMaxima = Convert.ToDateTime(Console.ReadLine()); Tarea nuevaTarea = new Tarea { Id = SiguienteId(), Nombre = nombre, Descripcion = descripcion, FechaMaxima = fechaMaxima, FechaCreacion = DateTime.Now }; Console.Write("Proyecto: "); foreach (var proyecto in todo) { Console.Write($"[{proyecto.Id}]{proyecto.Nombre} "); } Console.Write($"[0] Nuevo proyecto. Opcion:"); string lectura = Console.ReadLine(); if (lectura.Equals("0")) { Console.Write("Nombre del proyecto:"); string nombreProyecto = Console.ReadLine(); int proyectoId = SiguienteProyectoId(); Proyecto nuevoProyecto = new Proyecto { Id = proyectoId, Nombre = nombreProyecto }; nuevoProyecto.Tareas.Add(nuevaTarea); todo.Add(nuevoProyecto); ConsoleColor temp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("¡La tarea fue creada!"); Console.ForegroundColor = temp; Console.WriteLine("Presiona una tecla para continuar"); Console.Read(); } else { int opcionNumerica; if (int.TryParse(lectura, out opcionNumerica)) { bool encontreProyecto = false; foreach (var proyecto in todo) { if (proyecto.Id == opcionNumerica) { proyecto.Tareas.Add(nuevaTarea); encontreProyecto = true; break; } } if (encontreProyecto == false) { Console.WriteLine("Pailas, el proyecto no existe"); } //Linq /* * Proyecto elProyecto = todo.FirstOrDefault(x => x.Id == opcionNumerica); * elProyecto.Tareas.Add(nuevaTarea); */ ConsoleColor temp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("¡La tarea fue creada!"); Console.ForegroundColor = temp; Console.WriteLine("Presiona una tecla para continuar"); Console.Read(); } else { Console.WriteLine("Usted se equivocó, formateare el equipo"); } } }
static bool Leer() { DirectoryInfo directoryInfo = new DirectoryInfo(RUTAARCHIVO); FileInfo[] archivos = directoryInfo.GetFiles(); if (archivos.Length == 0) { todo.Add(new Proyecto { Id = 1, Nombre = "To do" }); } else { foreach (var archivo in archivos) { string nombreArchivo = archivo.Name.Replace(".txt", ""); string[] partes = nombreArchivo.Split('-'); Proyecto nuevoProyecto = new Proyecto { Id = Convert.ToInt32(partes[0]), Nombre = partes[1] }; todo.Add(nuevoProyecto); using (FileStream file = archivo.OpenRead()) { using (StreamReader reader = new StreamReader(file)) { string line = ""; while ((line = reader.ReadLine()) != null) { string[] datos = line.Split(';'); Tarea tarea = new Tarea { Id = Convert.ToInt32(datos[0]), Nombre = datos[1], Descripcion = datos[2], FechaCreacion = Convert.ToDateTime(datos[3]), FechaMaxima = Convert.ToDateTime(datos[4]), EstaTerminada = Convert.ToBoolean(datos[6]) }; if (string.IsNullOrEmpty(datos[5]) == false) { tarea.FechaModificacion = Convert.ToDateTime(datos[5]); } if (string.IsNullOrEmpty(datos[7]) == false) { tarea.FechaTerminacion = Convert.ToDateTime(datos[7]); } nuevoProyecto.Tareas.Add(tarea); } } } } } return(true); }