public static void ChangeData(List <WorkingDay> Days) { Console.WriteLine("Enter date of day that`s you want to change"); var s = Console.ReadLine(); WorkingDay day = Days.Find(x => x.Date == s); if (day != null) { Console.WriteLine("Enter value of day that`s you want to change \n1)Name\n2)Position\n3)Date like 01.02.2000\n4)Hours count\n5)Project Name"); char a = Console.ReadKey().KeyChar; Console.WriteLine("Enter new value"); switch (a) { case '1': day.Name = Console.ReadLine(); break; case '2': day.Position = Console.ReadLine(); break; case '3': day.Date = Console.ReadLine(); break; case '4': day.HoursCount = Console.ReadLine(); break; case '5': day.ProjectName = Console.ReadLine(); break; } } }
public static WorkingDay CreateNewDay() { Console.Clear(); WorkingDay Day = new WorkingDay(); Console.WriteLine("Enter name of employee"); Day.Name = Console.ReadLine(); Console.WriteLine("Enter position in team"); Day.Position = Console.ReadLine(); Console.WriteLine("Enter date of day like 01.02.2000"); Day.Date = Console.ReadLine(); Console.WriteLine("Enter hours count"); Day.HoursCount = Console.ReadLine(); Console.WriteLine("Enter project name"); Day.ProjectName = Console.ReadLine(); return(Day); }
static void Main(string[] args) { while (true) { Console.WriteLine("╔════════════╤══════════════════════════════╗"); Console.WriteLine(" Hot key │ Function "); Console.WriteLine("╠════════════╪══════════════════════════════╣"); Console.WriteLine(" A │ Add new day "); Console.WriteLine("╠════════════╪══════════════════════════════╣"); Console.WriteLine(" C │ Change day "); Console.WriteLine("╠════════════╪══════════════════════════════╣"); Console.WriteLine(" D │ Delete day "); Console.WriteLine("╠════════════╪══════════════════════════════╣"); Console.WriteLine(" T │ Show all days "); Console.WriteLine("╠════════════╪══════════════════════════════╣"); Console.WriteLine(" H │ Average working hours "); Console.WriteLine("╠════════════╪══════════════════════════════╣"); Console.WriteLine(" P │ Hours on project "); Console.WriteLine("╠════════════╪══════════════════════════════╣"); Console.WriteLine(" M │ Days with maximum load "); Console.WriteLine("╠════════════╪══════════════════════════════╣"); Console.WriteLine(" Space │ Clear console "); Console.WriteLine("╠════════════╪══════════════════════════════╣"); Console.WriteLine(" Esc │ Exit program "); Console.WriteLine("╚════════════╧══════════════════════════════╝"); if (!File.Exists(FileName)) { File.Create(FileName).Close(); } var Days = JsonConvert.DeserializeObject <List <WorkingDay> >(File.ReadAllText(FilePath)); WorkingDay Wd = new WorkingDay(); switch (Console.ReadKey().Key) { case ConsoleKey.A: if (Days == null) { Days = new List <WorkingDay>(); Days.Add(CreateNewDay()); } else { Days.Add(CreateNewDay()); } break; case ConsoleKey.C: ChangeData(Days); break; case ConsoleKey.D: DelteDay(Days); break; case ConsoleKey.T: ShowAll(Days); break; case ConsoleKey.Escape: Environment.Exit(0); break; case ConsoleKey.H: Wd.AverageTimeWorking(Days); break; case ConsoleKey.P: Wd.HoursOnProject(Days); break; case ConsoleKey.M: Wd.MaxLoad(Days); break; case ConsoleKey.Spacebar: Console.Clear(); break; } string serialize = JsonConvert.SerializeObject(Days, Formatting.Indented); if (serialize.Count() > 1) { if (!File.Exists(FileName)) { File.Create(FileName).Close(); } File.WriteAllText(FilePath, serialize, Encoding.UTF8); } } }