// Void Merchandise Transfer out public bool MDSETransferVoidWS(string storeNo, string transNumber, out string errorMessage) { bool transferWebService = false; TransferService.VMRequestType req = new TransferService.VMRequestType(); req.serviceInformation = new serviceInformationType(); req.serviceInformation.source = new endpointType(); req.serviceInformation.source.systemId = "P2"; req.serviceInformation.source.systemName = "Cashlinx Phase 2"; req.serviceInformation.source.systemVersion = "4.0"; var conf = SecurityAccessor.Instance.EncryptConfig; var transferEsb = conf.GetMDSETransferService(); req.serviceInformation.domain = conf.DecryptValue(transferEsb.Domain); req.serviceInformation.shopNumber = ShopNumber; req.serviceInformation.terminalID = TerminalID; req.serviceInformation.userID = UserID; req.serviceInformation.transactionID = TransactionID; req.serviceInformation.timeStamp = CurrentDateTime; req.serviceData = new TransferService.VMRequestTypeServiceData(); req.serviceData.VoidTransfer = new VoidTransferType(); req.serviceData.VoidTransfer.storeNumber = storeNo; req.serviceData.VoidTransfer.transferNumber = transNumber; TransferService.VMReplyType response = portClient.CreateVoidedMissile(req); transferWebService = HandleWSResponseForVoid(response, out errorMessage, transNumber); portClient.Close(); return(transferWebService); }
private bool HandleWSResponseForVoid(TransferService.VMReplyType replydata, out string errorMessage, string transNumber) { 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, "Void Transfer web service came back with errors for" + transNumber + replydata.serviceInformation.status.exceptionCode.ToString() + replydata.serviceInformation.status.sourceMessage); } if (replydata.serviceData != null && replydata.serviceData.Items != null) { if (replydata.serviceData.Items[0].GetType() != typeof(businessExceptionType)) { //check the reply transferWebService = true; } else { businessExceptionType returnData = (businessExceptionType)replydata.serviceData.Items[0]; ErrorMessage = returnData.responseCode.ToString() + returnData.message; FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Void Transfer web service returned with business exception for" + transNumber + returnData.responseCode.ToString() + returnData.message); transferWebService = false; } } else //No data came back from the web service call...log it { transferWebService = true; FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Void Transfer web service did not return any data "); } } errorMessage = ErrorMessage; return(transferWebService); }