Beispiel #1
0
        internal static ChangePinResponseInternal ChangePinInternal(ChangePinRequestInternal internalRequest)
        {
            UMarketSCClient           utibaClient      = new UMarketSCClient();
            ChangePinResponseInternal internalResponse = null;

            using (OperationContextScope scope = new OperationContextScope(utibaClient.InnerChannel))
            {
                HttpRequestMessageProperty messageProperty = new HttpRequestMessageProperty();
                messageProperty.Headers.Add(HttpRequestHeader.UserAgent, UserAgent);
                OperationContext.Current.OutgoingMessageProperties.Add(HttpRequestMessageProperty.Name, messageProperty);

                //throw new Exception("Exception fuerte");
                string      passwordHash   = GenerateHash(internalRequest.SessionID, internalRequest.Initiator, internalRequest.CurrentPin);
                pinResponse pinChangeUtiba = utibaClient.pin(new pin()
                {
                    pinRequest = new pinRequestType()
                    {
                        sessionid = internalRequest.SessionID, device_type = internalRequest.DeviceType, new_pin = internalRequest.NewPin, pin = passwordHash, initiator = internalRequest.Initiator
                    }
                });

                internalResponse = new ChangePinResponseInternal()
                {
                    ResponseCode    = pinChangeUtiba.pinReturn.result,
                    ResponseMessage = pinChangeUtiba.pinReturn.result_message,
                    TransactionID   = pinChangeUtiba.pinReturn.transid
                };
            }
            return(internalResponse);
        }
Beispiel #2
0
        public override IMovilwayApiResponse PerformUtibaOperation(IMovilwayApiRequest requestObject, UMarketSCClient utibaClientProxy, String sessionID)
        {
            ChangePinRequestBody  request  = requestObject as ChangePinRequestBody;
            ChangePinResponseBody response = null;

            logger.InfoLow("[UTI] " + base.LOG_PREFIX + "[ChangePinProvider] [SEND-DATA] pinRequest {sessionId=" + sessionID + ",device_type=" + request.DeviceType +
                           ",new_pin=******,pin=******,initiator=" + request.Agent + "}");

            string currentPinHash = Utils.GenerateHash(sessionID, request.Agent, request.OldPin);
            //string newPinHash = Utils.GenerateHash(sessionID, internalRequest.Initiator, internalRequest.CurrentPin);
            pinResponse pinChangeUtiba = utibaClientProxy.pin(new pin()
            {
                pinRequest = new pinRequestType()
                {
                    sessionid   = sessionID,
                    device_type = request.DeviceType,
                    new_pin     = request.NewPin,
                    pin         = currentPinHash,
                    initiator   = request.Agent
                }
            });

            logger.InfoLow("[UTI] " + base.LOG_PREFIX + "[ChangePinProvider] [RECV-DATA] pinResponse {transid=" + pinChangeUtiba.pinReturn.transid +
                           ",result=" + pinChangeUtiba.pinReturn.result +
                           ",result_namespace=" + pinChangeUtiba.pinReturn.result_namespace +
                           ",result_message=" + pinChangeUtiba.pinReturn.result_message + "}");

            if (pinChangeUtiba != null)
            {
                response = new ChangePinResponseBody()
                {
                    ResponseCode    = Utils.BuildResponseCode(pinChangeUtiba.pinReturn.result, pinChangeUtiba.pinReturn.result_namespace),
                    ResponseMessage = pinChangeUtiba.pinReturn.result_message,
                    TransactionID   = pinChangeUtiba.pinReturn.transid
                };
            }
            return(response);
        }