コード例 #1
0
        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());
        }
コード例 #2
0
 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);
 }
コード例 #3
0
 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>()));
 }
コード例 #4
0
 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);
     }
 }