public void LogTransaction(Iso8583Message message) { TransactionLog transactionLog = new TransactionLog(); transactionLog.CardPan = message.Fields[2].Value.ToString(); if (message.IsRequest()) { transactionLog.ResponseCode = ""; } else { transactionLog.ResponseCode = message.Fields[39].Value.ToString(); } transactionLog.MTI = message.MessageTypeIdentifier.ToString(); transactionLog.Amount = Convert.ToDecimal(message.Fields[4].Value); transactionLog.Account1 = message.Fields[102].Value.ToString(); if (message.Fields[103] != null) { transactionLog.Account2 = message.Fields[103].Value.ToString(); } transactionLog.STAN = message.Fields[11].Value.ToString(); transactionLog.TransactionDate = DateTime.Now; //transactionLog.OriginalDataElement = message.Fields[90].Value.ToString(); //transactionLog.ResponseDescription = message.Fields[39].Value.ToString(); //EntityLogic<TransactionLog> LogLogic = new EntityLogic<TransactionLog>(); //LogLogic.Insert(transactionLog); //LogLogic.Commit(); var LogLogic = unitOfwork.EntityRepository <TransactionLog>(); LogLogic.Save(transactionLog); }
public void LogTransaction(Iso8583Message message, string type, string narration) { TransactionLog transactionLog = new TransactionLog(); double fee = ExtractFee(message); transactionLog.CardPan = message.Fields[2].Value.ToString(); if (message.IsRequest()) { transactionLog.ResponseCode = ""; } else { transactionLog.ResponseCode = message.Fields[39].Value.ToString(); } transactionLog.Amount = (float)(ExtractAmount(message) + fee); transactionLog.Account1 = message.Fields[102].Value.ToString(); if (message.Fields[103] != null) { transactionLog.Account2 = message.Fields[103].Value.ToString(); } transactionLog.STAN = message.Fields[11].Value.ToString(); transactionLog.TransactionDate = DateTime.Now; transactionLog.MTI = message.MessageTypeIdentifier.ToString(); transactionLog.TypeOfEntry = type; transactionLog.Narration = narration; //transactionLog.ResponseDescription = message.Fields[39].Value.ToString(); var _context = new ApplicationDbContext(); _context.TransactionLogs.Add(transactionLog); _context.SaveChanges(); }
public void IsRequest() { Iso8583Message message = new Iso8583Message(); message.MessageTypeIdentifier = 1200; Assert.IsTrue(message.IsRequest()); message.MessageTypeIdentifier = 1210; Assert.IsFalse(message.IsRequest()); message.MessageTypeIdentifier = 1420; Assert.IsTrue(message.IsRequest()); message.MessageTypeIdentifier = 1430; Assert.IsFalse(message.IsRequest()); }
private static Iso8583Message SetResponseMessage(Iso8583Message message, string responseCode) { if (message.IsRequest()) { message.SetResponseMessageTypeIdentifier(); } message.Fields.Add(39, responseCode); return(message); }
private static Iso8583Message SetResponseMessage(Iso8583Message message, string responseCode) { Console.WriteLine("Setting Response Message ..."); if (message.IsRequest()) { message.SetResponseMessageTypeIdentifier(); } message.Fields.Add(39, responseCode); return(message); }
public bool Process(IMessageSource source, Message message) { try { string postBridgeNodeIp = (source as ServerPeer).Channel.Name; Iso8583Message theMsg = message as Iso8583Message; if (TheBridge.PostBridgeNodePeer != null && TheBridge.PostBridgeNodePeer.Channel != null && postBridgeNodeIp == TheBridge.PostBridgeNodePeer.Channel.Name && !theMsg.IsRequest()) { if (_theBridge.PosRequestPeer.IsConnected) { _theBridge.PosRequestPeer.Send(message); return(true); } else { return(false); } } bool isSignOnMessage = false; new PANE.ERRORLOG.Error().LogInfo("Request message: " + theMsg.ToString()); PostBridge.Server.Messages.Message requestMessage = MessageParser.Read(theMsg, out isSignOnMessage); if (requestMessage.Validate()) { Iso8583Message msg = requestMessage.Execute(); new PANE.ERRORLOG.Error().LogInfo("About to send Response message: " + msg.ToString()); source.Send(msg); //If is first sign on message, send Keyexchange. if (!PinConfigurationManager.FepConfig.KeyExchangeOnConnect && lastKeyExchangeDate.Date != DateTime.Today && isSignOnMessage) { new BasicServerPeerManager2().DoKeyExchange(null); lastKeyExchangeDate = DateTime.Now; } } return(true); } catch (Exception e) { new PANE.ERRORLOG.Error().LogToFile(e); Logger.Error(e); return(false); } }