private void MessageReceived(object sender, MessageEventArgs e) { lock (_syncLock) { _log.Debug("Geting Incomming Message"); BankRawMessage message = e.Message as BankRawMessage; //Server only accepts Raw messages if (message != null) { BaseModel baseModel = _factory.Create(message.RawBytes); if (baseModel is NetworkManagementModel) { NetworkManagementModel model = baseModel as NetworkManagementModel; if (model.Mti == "0800" && model.NetMgtInfoCode == "001") { _log.Debug("Recieved Log On Request from Host Node"); _log.Debug("sending Sign on Response to Host Node"); _client.SendMessage(_svc.GenerateSignOnResponse(model)); _log.Debug("sending Sign on Request to Host Node"); _client.SendMessage(_svc.GenerateKeyExchangeRequest(model)); } else if (model.Mti == "0810" && model.NetMgtInfoCode == "001") { _log.Debug("Recieved Log On Response from Host Node"); _svc.FinaliseLogon(model); } else if (model.Mti == "0820" && model.NetMgtInfoCode == "101") { _log.Debug("Recieved Key Exchange Request from Host Node"); _log.Debug("Sending Key Exchange Response to Host Node"); _client.SendMessage(_svc.GenerateKeyExchangeResponse(model)); _log.Debug("Simulator Ready to Accept Transactions"); } else if (model.Mti == "0830" && model.NetMgtInfoCode == "101") { _log.Debug("Recieved Key Exchange Response from Host Node"); _svc.FinaliseKeyExchange(model); } } else if (baseModel.Mti == "0200") { _log.Debug("Recieved Key Auth Request from Host Node"); _client.SendMessage(_svc.GenerateAuthorizationResponse(baseModel as AuthorizationRequestModel)); } else if (baseModel.Mti == "0420") { _log.Debug("Recieved Key Reversal Request from Host Node"); _client.SendMessage(_svc.GenerateReversalResponse(baseModel as ReversalRequestModel)); } } else { _log.Error("Incomming Message:: NULL"); } } }
public void HandleResponse(BankRawMessage message) { try { _log.Debug("Geting Incomming Message"); if (message != null) { BaseModel model = _factory.Create(message.RawBytes); if (model is NetworkManagementModel) { SetWorkflow((NetworkManagementModel)model); } else if (model.Mti == "0200") { _log.Debug("Recieved Key Auth Request from Host Node"); SetState(SimulatorStates.AuthorizationReceived); } else if (model.Mti == "0420") { _log.Debug("Recieved Key Reversal Request from Host Node"); SetState(SimulatorStates.ReversalRecieved); } _baseModel = model; } else { _log.Error("Response message null"); } } catch (Exception e) { _log.Error("Error in HandleResponse: " + e.Message); } }
public BankRawMessage GenerateReversalResponse(ReversalRequestModel model) { BankRawMessage result = new BankRawMessage(_responseBuilder.ReversalAdviceResponse(model)); return(result); }
public BankRawMessage GenerateAuthorizationResponse(AuthorizationRequestModel model) { BankRawMessage result = new BankRawMessage(_responseBuilder.ResponseTranAuthorization(model)); return(result); }