예제 #1
0
        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");
                }
            }
        }
예제 #2
0
        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);
        }