/// <summary>
        /// Returns a state from the PhysicalServerState enum.
        /// </summary>
        /// <returns></returns>
        public PhysicalServerState AnyMoreSpaceFor(VirtualServer vserver)
        {
            if (_LVirtualServersActive == null)
            {
                _ServerState = PhysicalServerState.empty;
                return _ServerState;
            }

            short cummulatedCoresInNumbers;
            short cummulatedBandwidthInMBit;
            short cummulatedRAMInGByte;

            AddUpVServersOnInstance(out cummulatedCoresInNumbers, out cummulatedBandwidthInMBit, out cummulatedRAMInGByte);

            if (cummulatedCoresInNumbers + vserver.CPUCoreCountMax >= _CPUCoresMax)
            {
                _ServerState = PhysicalServerState.full;
                return _ServerState;
            }

            if (cummulatedBandwidthInMBit + vserver.BandwidthInMBit >= _BandwidthInMBit)
            {
                _ServerState = PhysicalServerState.full;
                return _ServerState;
            }

            if (cummulatedRAMInGByte + vserver.RAMInGByte >= _RAMInGByte)
            {
                _ServerState = PhysicalServerState.full;
                return _ServerState;
            }

            _ServerState = PhysicalServerState.spaceAvailable;
            return _ServerState;
        }
 public void AddVMToInstance(VirtualServer vserver)
 {
     _ServerState = PhysicalServerState.spaceAvailable;
     _LVirtualServersActive.Add(vserver);
 }
 public PhysicalServer(short cpuCoreCount, short bandwidthInMBit, short ramInGByte)
     : base(cpuCoreCount, bandwidthInMBit, ramInGByte)
 {
     _ServerState = PhysicalServerState.empty;
     _LVirtualServersActive = new List<VirtualServer>();
 }