public void CalculateTransmitTime()
        {
            _transmissionLogs = new EndNodeTransmissionLog[
                Settings.GetPacketsCountFromOneNode()];

            uint transmitPeriodMs = Settings.MS_IN_HOUR / Settings.PacketsPerHour;

            uint slotTimeMs = 0;

            for (uint i = 0; i < Settings.GetPacketsCountFromOneNode(); i++)
            {
                var  random     = RandomAccessPoint.GetRandomObject();
                uint randomWait = (uint)random.Next((int)transmitPeriodMs);
                _transmissionLogs[i].StartMs = slotTimeMs + randomWait;
                _transmissionLogs[i].EndMs   = _transmissionLogs[i].StartMs +
                                               GetOnePacketTransmitTimeMs();
                _transmissionLogs[i].ChannelNumber = GetRandomChannelNumber();
                _transmissionLogs[i].IsPacketCanBeListenByGateway = true;

                slotTimeMs += transmitPeriodMs;
            }
        }
        private uint GetRandomChannelNumber()
        {
            var random = RandomAccessPoint.GetRandomObject();

            return((uint)random.Next((int)Settings.ChannelsCount));
        }