Esempio n. 1
0
        /// <summary>
        /// Ищет транспорт по ключу в нужном репозитории и Удаляет его.
        /// Удаленный транспорт помещается в deletedTransport.
        /// </summary>
        private async Task RemoveTransportAsync(KeyTransport keyTransport, TransportOption deletedTransport)
        {
            switch (keyTransport.TransportType)
            {
            case TransportType.SerialPort:
                deletedTransport.SerialOptions.Add(await _serialPortOptionRep.GetSingleAsync(sp => sp.Port == keyTransport.Key));
                await _serialPortOptionRep.DeleteAsync(sp => sp.Port == keyTransport.Key);

                break;

            case TransportType.TcpIp:
                deletedTransport.TcpIpOptions.Add(await _tcpIpOptionRep.GetSingleAsync(tcpip => tcpip.Name == keyTransport.Key));
                await _tcpIpOptionRep.DeleteAsync(tcpip => tcpip.Name == keyTransport.Key);

                break;

            case TransportType.Http:
                deletedTransport.HttpOptions.Add(await _httpOptionRep.GetSingleAsync(http => http.Name == keyTransport.Key));
                await _httpOptionRep.DeleteAsync(http => http.Name == keyTransport.Key);

                break;
            }
        }