bool SendIPClientRequest(EFTRequest eftRequest) { // Store current request. this.currentRequest = eftRequest; // Build request var requestString = ""; try { requestString = _parser.EFTRequestToString(eftRequest); } catch (Exception e) { Log(LogLevel.Error, tr => tr.Set($"An error occured parsing the request", e)); throw; } Log(LogLevel.Debug, tr => tr.Set($"Tx {requestString}")); // Send the request string to the IP client. return(socket.Send(requestString)); }
/// <summary>Sends a request to the EFT-Client</summary> /// <param name="request">The <see cref="EFTRequest"/> to send</param> /// <param name="member">Used for internal logging. Ignore</param> /// <returns>FALSE if an error occurs</returns> public async Task <bool> WriteRequestAsync(EFTRequest request, [CallerMemberName] string member = "") { SetCurrentRequest(request); string msgString = ""; try { msgString = (request is EFTPosAsPinpadRequest) ? _parser.EFTRequestToXMLString(request) : _parser.EFTRequestToString(request); } catch (Exception e) { Log(LogLevel.Error, tr => tr.Set($"An error occured parsing the request", e)); throw; } Log(LogLevel.Debug, tr => tr.Set($"Tx {msgString}")); // Send the request string to the IP client. try { await _clientStream.WriteRequestAsync(msgString); } catch (Exception e) { Log(LogLevel.Error, tr => tr.Set($"An error occured sending the request", e)); Disconnect(); throw new ConnectionException(e.Message, e.InnerException); } return(true); }