namespace Methods; using Classes; using Lists; class GpuMethods { public void PurchaseGpu(Gpu gpu, Computer computer) { computer.Gpus.Add(gpu); computer.Price += gpu.Price; } public void RemoveGpu(Gpu gpu, Computer computer) { computer.Gpus.Remove(gpu); computer.Price -= gpu.Price; } public void DisplayGpu(Gpu gpu) { Console.WriteLine($"{gpu.Name} manufactured by {gpu.Supplier} from {gpu.Country}, memory {gpu.Memory} GB, speed {gpu.Speed} MHz, costs {gpu.Price} ยค"); } public void DisplayGpuList(Computer computer, List data, bool remove = false) { if (!data.Any()) { Console.WriteLine("No data available."); return; } foreach (Gpu gpu in data) DisplayGpu(gpu); while (true) { try { Console.Write("Enter the GPU name to purchase: "); string? input = Console.ReadLine(); var selected = (from gpu in data where gpu.Name == input select gpu).First(); if (!remove) { PurchaseGpu(selected, computer); Console.WriteLine("Purchased."); } else { RemoveGpu(selected, computer); Console.WriteLine("Removed."); } return; } catch (InvalidOperationException) { Console.WriteLine("Not found."); } } } }