Exemple #1
0
        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");
                }
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        public BankRawMessage GenerateReversalResponse(ReversalRequestModel model)
        {
            BankRawMessage result = new BankRawMessage(_responseBuilder.ReversalAdviceResponse(model));

            return(result);
        }
Exemple #4
0
        public BankRawMessage GenerateAuthorizationResponse(AuthorizationRequestModel model)
        {
            BankRawMessage result = new BankRawMessage(_responseBuilder.ResponseTranAuthorization(model));

            return(result);
        }