public override string ToString() { StringBuilder builder = new StringBuilder(); builder.AppendLine($"Computer type: {Name}"); builder.AppendLine("Current configuration:"); builder.AppendLine($" CPU: {Cpus.ToStatus()}"); builder.AppendLine($" Storage: {Hards.ToStatus()}"); builder.AppendLine($" RAM: {Rams.ToStatus()}"); builder.AppendLine($" GPU: {Gpus.ToStatus()}"); builder.AppendLine($" Network: {Networks.ToStatus()}"); builder.AppendLine($" Wireless: {Wirelesses.ToStatus()}"); builder.AppendLine($" Sources: {Sources.ToStatus()}"); builder.AppendLine($" Motherboard: {Motherboard}"); string motherboardLoad = GetMotherboardLoadString(); builder.AppendLine($"Motherboard configuration: {motherboardLoad}"); int currentLoad = GetSourceLoad(); int maximumLoad = MaximumSourceLoad(); float percentageLoad = (float)currentLoad / maximumLoad; builder.AppendLine($"Current source load: {currentLoad}/{maximumLoad} - {percentageLoad:00.##}"); return(builder.ToString()); }
private int GetSourceLoad() { return(Rams.Select(x => x.LoadUsage).Sum() + Hards.Select(x => x.LoadUsage).Sum() + Cpus.Select(x => x.LoadUsage).Sum() + Gpus.Select(x => x.LoadUsage).Sum() + Networks.Select(x => x.LoadUsage).Sum() + Wirelesses.Select(x => x.LoadUsage).Sum() + Motherboard.LoadUsage); }
public bool EqualByMembers(Computer computer) { return(computer != null && ComputerType == computer.ComputerType && ModelEqualityByMembers <Processor> .EqualByMembers(Processor, computer.Processor) && Memories.IsEquals(computer.Memories, new ModelEqualityByMembers <Memory>()) && Disks.IsEquals(computer.Disks, new ModelEqualityByMembers <Disk>()) && ModelEqualityByMembers <MotherBoard> .EqualByMembers(MotherBoard, computer.MotherBoard) && Gpus.IsEquals(computer.Gpus, new ModelEqualityByMembers <Gpu>())); }
public int GetHashCodeWithMembers() { unchecked { var hashCode = 397; hashCode = (hashCode * 397) ^ (Processor?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (Memories?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (Disks?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (MotherBoard?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (Gpus?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ ComputerType.GetHashCode(); return(hashCode); } }