public FSVCardHolderSearchResponse CardHolderSearch(FSVCardHolderSearchRequest request) { var cardholderSearchRequest = new cardholderSearchRequest(); string msg = string.Empty; string code = string.Empty; FSVCardHolderSearchResponse responseByCode; var client = BuildClientObject <svc_fcb38ec5ce0b4672b9870346096e51e6fsvsandboxportType0Client>(request, Utils.ORDER_CARDHOLDERSEARCH_URL); cardholderSearchRequest.cardNumber = request.CardNumber; cardholderSearchRequest.cardId = request.CardId; cardholderSearchResponse res; using (new OperationContextScope(client.InnerChannel)) { var requestMessageProperty = new HttpRequestMessageProperty(); requestMessageProperty.Headers["Authorization"] = "Bearer " + _authService.GetOAuthToken(request); OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = requestMessageProperty; //Logger.Instance.Info(this, "CardHolderSearch-fsv-request: " + client.Endpoint + " " + Utils.GetXMLAsString(cardholderSearchRequest)); res = client.searchCardholderAsync(cardholderSearchRequest); //Logger.Instance.Info(this, "CardHolderSearch-fsv-response: " + Utils.GetXMLAsString(res)); } if (res != null && res.responseStatus == OrderCardHolderSearch.type.SUCCESS) { string[] lang = { "en" }; responseByCode = ModelFactory.GetResponseByCode <FSVCardHolderSearchResponse>(true, FSVResponseCode.FSVOrderCardHolderSearchSuccess, lang); if (res.cardholderList != null) { if (res?.cardholderList?.Length > 0 && res.cardholderList[0] != null) { var cardholder = res.cardholderList[0]; responseByCode.CardHolderAddress = new FSVCardAddress() { AddressLine1 = cardholder.addressLine1, AddressLine2 = cardholder.addressLine2, AddressLine3 = cardholder.addressLine3, City = cardholder.city, StateOrProvinceCode = cardholder.state?.Trim(), CountryCode = cardholder.country?.Trim() }; responseByCode.CardholderFirstName = cardholder.firstName; responseByCode.CardholderLastName = cardholder.lastName; responseByCode.CardId = cardholder.cardId; responseByCode.CardStatus = cardholder.cardStatus; responseByCode.CurrentBalance = Convert.ToDouble(cardholder.currentBalance); responseByCode.CardNumber = cardholder.cardNumber; responseByCode.ProgramName = cardholder.programName?.Trim(); responseByCode.SubProgramName = cardholder.subprogramName?.Trim(); } } } else { if (res.message != null && res.message.Length != 0) { msg = res.message[0].description; code = res.message[0].code; } return(this.ReturnFailed <FSVCardHolderSearchResponse>(code, msg, FSVResponseCode.FSVOrderCardHolderSearchFailed)); } return(responseByCode); }
public FSVCardHolderSearchResponse Post(FSVCardHolderSearchRequest request) { return(Process <FSVCardHolderSearchResponse>(() => FsvOrderApiService.Instance.CardHolderSearch(request), FSVResponseCode.FSVOrderCardHolderSearchFailed)); }