static void RunPeopleWithLastName(PersonModelMemoryCache personModelMemoryCache, string lastName) { List <PersonModel> people; string key = $"People { lastName }"; Console.WriteLine(); if (personModelMemoryCache.IsCacheValid(key)) { people = personModelMemoryCache.GetPeopleCache(key); } else { DataAccess dataAccess = new DataAccess(); people = dataAccess.SimulatedPersonListByLastName(lastName); personModelMemoryCache.AddPeopleCache(key, people); } if (people.Count > 0) { DisplayPeople(people); } else { Console.WriteLine($"No person with last name { lastName } exist"); } }
static void Main(string[] args) { PersonModelMemoryCache personModelMemoryCache = new PersonModelMemoryCache(10); bool askForData = false; string userMenuInput; while (!askForData) { DisplayMenu(); userMenuInput = Console.ReadLine(); if (userMenuInput.ToLower() == "quit") { break; } if (Int32.TryParse(userMenuInput, out int choice)) { switch (choice) { case 1: RunPeople(personModelMemoryCache); break; case 2: int id = GetIdFromUser(); RunPersonById(personModelMemoryCache, id); break; case 3: string lastName = GetLastNameFromUser(); RunPeopleWithLastName(personModelMemoryCache, lastName); break; default: Console.WriteLine("Invalid choice!"); break; } } else { Console.WriteLine("Invalid choice!"); } } Console.WriteLine("Application has ended"); Console.ReadLine(); }
static void RunPersonById(PersonModelMemoryCache personModelMemoryCache, int id) { PersonModel person; string key = $"Person { id }"; Console.WriteLine(); if (personModelMemoryCache.IsCacheValid(key)) { person = personModelMemoryCache.GetPersonCache(key); } else { DataAccess dataAccess = new DataAccess(); person = dataAccess.SimulatedPersonById(id); personModelMemoryCache.AddPersonCache(key, person); } Console.WriteLine(person.ToString()); }
static void RunPeople(PersonModelMemoryCache personModelMemoryCache) { List <PersonModel> people; string key = "People Key"; Console.WriteLine(); if (personModelMemoryCache.IsCacheValid(key)) { people = personModelMemoryCache.GetAllPeopleCache(); } else { DataAccess dataAccess = new DataAccess(); people = dataAccess.SimulatedPersonListLookup(); personModelMemoryCache.AddAllPeopleCache(key, people); } DisplayPeople(people); }