public override string ToString() { StringBuilder sb = new StringBuilder(); sb.AppendLine(base.ToString()); sb.AppendLine($" Components ({Components.Count}):"); foreach (var item in Components) { sb.AppendLine($" {item}"); } if (Peripherals.Any()) { sb.AppendLine($" Peripherals ({Peripherals.Count}); Average Overall Performance ({Peripherals.Average(p => p.OverallPerformance):f2}):"); } else { sb.AppendLine($" Peripherals ({Peripherals.Count}); Average Overall Performance (0):"); } foreach (var item in Peripherals) { sb.AppendLine($" {item}"); } return(sb.ToString().TrimEnd()); }
public void AddPeripheral(IPeripheral peripheral) { if (Peripherals.Any(x => x.GetType().Name == peripheral.GetType().Name)) { throw new ArgumentException(string.Format(ExceptionMessages.ExistingPeripheral, peripheral.GetType().Name, GetType().Name, Id)); } peripherals.Add(peripheral); }