/// <summary> /// Initializes a new instance of the <see cref="PutBarcodeRecognizeFromBodyRequest"/> class. /// </summary> /// <param name="name">The image file name.</param> /// <param name="readerParams">BarcodeReader object with parameters.</param> /// <param name="type"></param> /// <param name="storage">The storage name</param> /// <param name="folder">The image folder.</param> public PutBarcodeRecognizeFromBodyRequest(string name, ReaderParams readerParams, string type = null, string storage = null, string folder = null) { this.name = name; this.readerParams = readerParams; this.type = type; this.storage = storage; this.folder = folder; }
private void backgroundReader_DoWork(object sender, DoWorkEventArgs e) { ReaderParams param = (ReaderParams)e.Argument; SerialPort port = null; try { port = new SerialPort(param.Port, param.Baudrate, Parity.None, 8, StopBits.One); port.WriteTimeout = port.ReadTimeout = 250; port.Open(); Modbus modbus = new Modbus(port, param.ModbusID); modbus.WriteSingleRegister(34, 123); modbus.WriteSingleRegister(35, (ushort)(param.Type == AnalogSensorType.TypeAnalog ? 0 : 1)); while (!backgroundReader.CancellationPending) { try { Modbus.READ_INPUT_REGS_RESP resp = modbus.ReadInputRegisters(0, 6); float val = 0.0f; if (param.Type == AnalogSensorType.TypeAnalog) { val = resp.GetInpRegsFLOAT(2); } else { val = resp.GetInpRegsFLOAT(0); } float curr = resp.GetInpRegsFLOAT(4) * 1000; Invoke(new Action <string>(a => lbValue.Text = a), string.Format("{0:0.00}", val)); Invoke(new Action <string>(a => lbCurrent.Text = a), ((int)(curr)).ToString()); connectStatus = ConnectionStatus.ConnectionOn; Thread.Sleep(400); } catch (TimeoutException) { //выходим /*e.Result = new ReaderResult() * { * Status = ReaderResult.ReaderStatus.ReaderError, * Message = currentTranslation.modbusNoAnswerError * }; * * return;*/ Invoke(new Action <string>(a => lbValue.Text = a), string.Format("{0:0.00}", 0.0f)); Invoke(new Action <string>(a => lbCurrent.Text = a), "0"); connectStatus = ConnectionStatus.ConnectionOff; } catch (Modbus.ModbusException ex) { string message = ex.Message; switch (ex.Reason) { case Modbus.ModbusException.ExceptionReason.IllegalAddrException: case Modbus.ModbusException.ExceptionReason.IllegalFuncException: case Modbus.ModbusException.ExceptionReason.IllegalValueException: message = currentTranslation.modbusIllegalError; break; case Modbus.ModbusException.ExceptionReason.CRCException: message = currentTranslation.modbusCRCError; break; case Modbus.ModbusException.ExceptionReason.IDException: message = currentTranslation.modbusHostIDError; break; case Modbus.ModbusException.ExceptionReason.LengthException: message = currentTranslation.modbusBufferLenError; break; case Modbus.ModbusException.ExceptionReason.UnknownException: message = currentTranslation.modbusUnknownError; break; } e.Result = new ReaderResult() { Status = ReaderResult.ReaderStatus.ReaderError, Message = message }; return; } } e.Result = new ReaderResult() { Status = ReaderResult.ReaderStatus.ReaderCancel }; return; } catch (Exception ex) { e.Result = new ReaderResult() { Status = ReaderResult.ReaderStatus.ReaderError, Message = ex.Message }; return; } finally { if (port != null) { if (port.IsOpen) { port.Close(); } } } }
public async Task <YoutubeDto> Search(string query) { var youtubeConfigs = _config.GetSection("YoutubeConfigs"); var baseUrl = youtubeConfigs["baseUrl"].ToString(); var key = youtubeConfigs["key"].ToString(); var readerParams = new ReaderParams { urlParams = new Dictionary <string, string> { { "part", "snippet" }, { "q", query }, { "key", key } } }; var youtubeResponse = await _reader.Get <YoutubeResponse>(baseUrl + "search?", readerParams); var youtubeDto = new YoutubeDto { NextPageToken = youtubeResponse.nextPageToken, }; foreach (var item in youtubeResponse.items) { var ytModel = new YoutubeModel(); ytModel.Title = item.snippet.title; ytModel.Description = item.snippet.description; ytModel.PublishedAt = item.snippet.publishedAt; ytModel.IsChannel = false; ytModel.ChannelName = item.snippet.channelTitle; ytModel.ThumbnailUrl = item.snippet.thumbnails.medium.url; if (item.id.kind == "youtube#channel") { ytModel.IsChannel = true; ytModel.youtubeId = item.id.channelId; } else if (item.id.kind == "youtube#video") { ytModel.youtubeId = item.id.videoId; } else { ytModel.youtubeId = item.id.playlistId; } if (_youtubeRepository.Exists(x => x.youtubeId == ytModel.youtubeId)) { var res = _youtubeRepository.ListBy(x => x.youtubeId == ytModel.youtubeId).Result.FirstOrDefault(); ytModel.Id = res.Id; await _youtubeRepository.Update(ytModel); } else { await _youtubeRepository.Create(ytModel); } youtubeDto.Items.Add(ytModel); } return(youtubeDto); }