public Task <ScanStoreEvent> CodeLineDataPutAsync(CodeLineScanEvent e) { log.DebugFormat("Put CodeLineData into store async [{0}]", e); Task <ScanStoreEvent> task = Task.Factory.StartNew <ScanStoreEvent>(() => { ScanStoreEvent scanStoreEvent; using (LogProvider.OpenNestedContext("Task_CodeLineDataPut")) { log.Info("Putting scan in cloud"); try { ScanStoreRestImpl service = new ScanStoreRestImpl(_configFileName, e); log.Debug("Begin call CodeLineDataPut web service"); String response = service.CodeLineDataPut(e); log.Debug("End call CodeLineDataPut web service"); scanStoreEvent = new ScanStoreEvent(response); } catch (Exception ex) { log.ErrorFormat("Exception while putting scan into cloud [{0}]", ex.Message); scanStoreEvent = new ScanStoreEvent(ex); } NotifyListeners(scanStoreEvent); } return(scanStoreEvent); }); return(task); }
public static bool IsConfigurationEvent(CodeLineScanEvent e) { MMM.Readers.CodelineData data = e.CodeLineData; bool result = (data.CodelineValidationResult == MMM.Readers.CheckDigitResult.CDR_Valid) && data.Line1.StartsWith("PZXXX"); return(result); }
public String CodeLineDataPut(CodeLineScanEvent e) { if (string.IsNullOrWhiteSpace(Settings.ProtocolVersion)) { return(CodeLineDataPutV1(e)); } else { return(CodeLineDataPutV2(e)); } }
public ScanStoreRestImpl(String configFileName, CodeLineScanEvent e) { try { CreateScanStoreConfigFileIfNecessary(configFileName, e); string text = System.IO.File.ReadAllText(configFileName); Settings = Newtonsoft.Json.JsonConvert.DeserializeObject <ScanStoreConfig>(text); } catch (FileNotFoundException ex) { throw new ConfigNotFoundException(ex); } }
public void HandleCodeLineScan(object sender, CodeLineScanEvent e) { try { ScanStoreApi service = new ScanStoreApi(_configFileName); String response = service.CodeLineDataPut(e.CodeLineData); OnScanSinkEvent(this, new ScanSinkEvent(response)); } catch (Exception ex) { OnScanSinkEvent(this, new ScanSinkEvent(ex)); } }
private String CodeLineDataPutV2(CodeLineScanEvent e) { var codeLineData = e.CodeLineData; var request = new RestRequest(Method.POST); Dictionary <string, object> parameters = new Dictionary <string, object>(); request.AddJsonBody(new Dictionary <string, object>() { { "clientId", Settings.ClientId }, { "accessKey", Settings.AccessKey }, { "codeLineData", codeLineData } }); return(Execute <VOID>(request)); }
public void HandleCodeLineScan(object sender, CodeLineScanEvent e) { Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(e)); if (OnScanSinkEvent != null) { try { OnScanSinkEvent(this, new ScanSinkEvent("Scan delivered to console")); } catch { } } }
private void CreateScanStoreConfigFileIfNecessary(String configFileName, CodeLineScanEvent e) { if (!System.IO.File.Exists(configFileName) && Utils.IsConfigurationEvent(e)) { var configData = Utils.ConfigurationData(e); var longUrl = configData.RetrieveLongUrl(); ScanStoreConfig settings = new ScanStoreConfig() { ClientId = configData.ClientId, AccessKey = configData.AccessKey, BaseUrl = longUrl, ProtocolVersion = configData.ProtocolVersion }; settings.Write(configFileName); } }
public static MrzBasedConfigurationData ConfigurationData(CodeLineScanEvent e) { MMM.Readers.CodelineData data = e.CodeLineData; return(new MrzBasedConfigurationData(data.Line1, data.Line2)); }