Ejemplo n.º 1
0
        public override IMovilwayApiResponse PerformKinacuOperation(IMovilwayApiRequest requestObject, SaleInterface kinacuWS, String sessionID)
        {
            if (sessionID.Equals("0") && !sessionID.Equals("1013"))
            {
                return new ChangePinResponseBody()
                       {
                           ResponseCode    = 90,
                           ResponseMessage = "error session",
                           TransactionID   = 0
                       }
            }
            ;

            ChangePinRequestBody  request  = requestObject as ChangePinRequestBody;
            ChangePinResponseBody response = null;
            string message;

            ManagementInterface managementWS = new ManagementInterface();

            var session = new ServiceExecutionDelegator <GetSessionResponseBody, GetSessionRequestBody>().ResolveRequest(
                new GetSessionRequestBody()
            {
                Username   = request.AuthenticationData.Username,
                Password   = request.AuthenticationData.Password,
                DeviceType = request.DeviceType
            }, ApiTargetPlatform.Kinacu, ApiServiceName.GetSession);

            if (session.ResponseCode == 1013 || session.ResponseCode == 10133 || session.ResponseCode == 1017)
            {
                logger.InfoLow("[KIN] " + base.LOG_PREFIX + "[ChangePinProvider] [SEND-DATA] ChangeUserPasswordByAccessIdParameters {AccessId=" + request.AuthenticationData.Username + ",OldPassword=******,NewPassword=******,AccessType=" + request.DeviceType + "}");

                bool result = managementWS.ChangeUserPasswordByAccessId(request.AuthenticationData.Username, request.OldPin, request.NewPin, request.DeviceType, out message);

                logger.InfoLow("[KIN] " + base.LOG_PREFIX + "[ChangePinProvider] [RECV-DATA] ChangeUserPasswordByAccessIdResult {response=" + result + ",message=" + message + "}");

                response = new ChangePinResponseBody()
                {
                    ResponseCode    = (result ? 0 : 99),
                    ResponseMessage = (result ? "exito" : message),
                    TransactionID   = new Random().Next(100000, 999999)
                };
            }
            else
            {
                logger.InfoLow("[KIN] " + base.LOG_PREFIX + "[ChangePinProvider] [SEND-DATA] ChangeUserPasswordParameters {UserId=" + sessionID + ",OldPassword=******,NewPassword=******}");

                bool result = managementWS.ChangeUserPassword(int.Parse(sessionID), request.OldPin, request.NewPin, out message);

                logger.InfoLow("[KIN] " + base.LOG_PREFIX + "[ChangePinProvider] [RECV-DATA] ChangeUserPasswordResult {response=" + result + ",message=" + message + "}");

                response = new ChangePinResponseBody()
                {
                    ResponseCode    = (result ? 0 : 99),
                    ResponseMessage = (result ? "exito" : message),
                    TransactionID   = new Random().Next(100000, 999999)
                };
            }
            return(response);
        }
    }
Ejemplo n.º 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);
        }