public bool CompleteCatcoTypeTransfersWS(string storeNumber, int transferNumber, int destinationStoreNumber, string tranType, out string errormessage)
        {
            bool transferWebService = false;

            if (storeNumber != string.Empty && transferNumber != 0 && destinationStoreNumber != 0)
            {
                //TransferService.storeToStoreRequestType requestdata = new TransferService.storeToStoreRequestType();
                TransferService.JSUPRequestType requestdata = new JSUPRequestType();

                requestdata.serviceInformation        = new serviceInformationType();
                requestdata.serviceInformation.source = new endpointType();
                //to do: what should the source values be?
                requestdata.serviceInformation.source.systemId      = "P2";
                requestdata.serviceInformation.source.systemName    = "Cashlinx Phase 2";
                requestdata.serviceInformation.source.systemVersion = "4.0";
                var conf        = SecurityAccessor.Instance.EncryptConfig;
                var transferEsb = conf.GetMDSETransferService();
                requestdata.serviceInformation.domain = conf.DecryptValue(transferEsb.Domain);

                requestdata.serviceInformation.shopNumber    = ShopNumber;
                requestdata.serviceInformation.terminalID    = TerminalID;
                requestdata.serviceInformation.userID        = UserID;
                requestdata.serviceInformation.transactionID = TransactionID;
                requestdata.serviceInformation.timeStamp     = CurrentDateTime;
                requestdata.serviceData = new TransferService.JSUPRequestTypeServiceData();
                requestdata.serviceData.JSUPtransfer                = new JSUPtransferType();
                requestdata.serviceData.JSUPtransfer.storeNumber    = storeNumber;
                requestdata.serviceData.JSUPtransfer.transferNumber = transferNumber.ToString();
                requestdata.serviceData.JSUPtransfer.destination    = destinationStoreNumber.ToString();
                requestdata.serviceData.JSUPtransfer.transferType   = tranType;
                JSUPReplyType replydata = null;

                try
                {
                    replydata = portClient.JSUPTransferOut(requestdata);
                }
                catch (Exception ee)
                {
                    errormessage = "Transfer web service call failed for" + transferNumber;
                    FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Transfer web service call failed for" + transferNumber + " " + ee);
                    return(false);
                }

                transferWebService = HandleJSUPWSResponse(replydata, transferNumber);
            }
            else
            {
                ErrorMessage = "Invalid storeNumber or transferNumber or destinationStoreNumber";
            }
            errormessage = ErrorMessage;
            portClient.Close();
            return(transferWebService);
        }
        private bool HandleJSUPWSResponse(JSUPReplyType replydata, int transferNumber)
        {
            bool transferWebService = false;

            if (replydata.serviceInformation != null)
            {
                //check whether there is a general exception
                if (replydata.serviceInformation.status != null &&
                    replydata.serviceInformation.status.exceptionCode != null)
                {
                    ErrorMessage = replydata.serviceInformation.status.exceptionCode.ToString() +
                                   replydata.serviceInformation.status.sourceMessage;
                    FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Transfer web service came back with errors for" + transferNumber
                                                   + replydata.serviceInformation.status.exceptionCode.ToString() +
                                                   replydata.serviceInformation.status.sourceMessage);
                    //return false;
                }

                if (replydata.serviceData != null && replydata.serviceData.Items != null)
                {
                    if (replydata.serviceData.Items[0].GetType() != typeof(businessExceptionType))
                    {
                        //check the reply
                        transferWebService = true;
                    }
                    else
                    {
                        transferWebService = false;
                        businessExceptionType returnData = (businessExceptionType)replydata.serviceData.Items[0];
                        ErrorMessage = returnData.responseCode.ToString() +
                                       returnData.message;

                        FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Transfer web service returned with business exception " + transferNumber + " " +
                                                       returnData.responseCode.ToString() +
                                                       returnData.message);
                    }
                }
                else
                //No data came back from the web service call...log it
                {
                    transferWebService = true;
                    FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Transfer JSUP web service No data returned for" + transferNumber);
                }
            }
            return(transferWebService);
        }
        public bool CompleteAllTypeTransfers(string storeNumber, int transferNumber, int destinationStoreNumber, string tranType, out string errormessage)
        {
            bool transferWebService = false;

            if (storeNumber != string.Empty && transferNumber != 0 && destinationStoreNumber != 0)
            {
                //TransferService.storeToStoreRequestType requestdata = new TransferService.storeToStoreRequestType();
                var requestdata = new JSUPRequestType();


                requestdata.serviceInformation        = new serviceInformationType();
                requestdata.serviceInformation.source = new endpointType();
                //to do: what should the source values be?
                requestdata.serviceInformation.source.systemId      = "CS";
                requestdata.serviceInformation.source.systemName    = "Cashlinx Support";
                requestdata.serviceInformation.source.systemVersion = "4.0";
                var conf        = SecurityAccessor.Instance.EncryptConfig;
                var transferEsb = conf.GetMDSETransferService();
                requestdata.serviceInformation.domain = conf.DecryptValue(transferEsb.Domain);

                requestdata.serviceInformation.shopNumber    = ShopNumber;
                requestdata.serviceInformation.terminalID    = TerminalID;
                requestdata.serviceInformation.userID        = UserID;
                requestdata.serviceInformation.transactionID = TransactionID;
                requestdata.serviceInformation.timeStamp     = CurrentDateTime;
                requestdata.serviceData = new JSUPRequestTypeServiceData();
                requestdata.serviceData.JSUPtransfer = new JSUPtransferType();

                requestdata.serviceData.JSUPtransfer.storeNumber    = storeNumber;
                requestdata.serviceData.JSUPtransfer.transferNumber = transferNumber.ToString();
                requestdata.serviceData.JSUPtransfer.destination    = destinationStoreNumber.ToString();
                requestdata.serviceData.JSUPtransfer.transferType   = tranType;
                JSUPReplyType replydata = portClient.JSUPTransferOut(requestdata);

                transferWebService = HandleJSUPWSResponse(replydata);
            }
            errormessage = ErrorMessage;
            //request = null;
            //portClient.Close();
            return(transferWebService);
        }