コード例 #1
0
ファイル: ThreadService.cs プロジェクト: dwenndson/TesteSMI
        private ITicketThread GetOrCreateTicketThread(string serial, CommandDeviceType commandDeviceType, out bool wasCreated)
        {
            var result = GetTicketThread(serial);

            if (result != null)
            {
                wasCreated = false;
                return(result);
            }
            Console.WriteLine("Criando nova thread");
            switch (commandDeviceType)
            {
            case CommandDeviceType.Smc:
                var smc = _smcService.GetBySerial(serial);
                result = new SmcTicketThread(smc, _baseClientSettings, _brokerSettings,
                                             _mqttClientConfiguration, _mqttClientMethods, _subscribeTopic,
                                             _commandRules, _eventService, _forwarderSenderService);
                TicketThreads.Add(result);
                break;

            case CommandDeviceType.Meter:
                var meter = _meterService.GetBySerial(serial);
                result = new MeterTicketThread(meter, _baseClientSettings, _brokerSettings,
                                               _mqttClientConfiguration, _mqttClientMethods, _subscribeTopic,
                                               _commandRules, _eventService, _forwarderSenderService);
                TicketThreads.Add(result);
                break;

            default:
                throw new NotImplementedException();
            }

            wasCreated = true;
            return(result);
        }
コード例 #2
0
        public IActionResult GetBySerial([FromRoute] string serial)
        {
            var savedMeterDto = _meterService.GetBySerial(serial);

            if (savedMeterDto == null)
            {
                return(new NotFoundResult());
            }
            return(new OkObjectResult(savedMeterDto));
        }