示例#1
0
        public PartnerServiceRequest(SimplePartnerRequest clientRequest)
        {
            this.WebServiceRequest = new PartnerWebServiceRequest();
            this.RequestHeader     = new PartnerRequestHeader()
            {
                SalesOrgID = clientRequest.SalesAreaInfo.SalesOrgId,
                DISTR_CHAN = clientRequest.SalesAreaInfo.DistChannelId,
                DIVISION   = clientRequest.SalesAreaInfo.DivisionId
            };

            this.RequestDetail = new PartnerRequestDetail()
            {
                PartnerID   = clientRequest.PartnerId,
                PartnerType = "ShipTo"
            };

            this.RequestDetails = new PartnerRequestDetail[1];
            RequestDetails[0]   = RequestDetail;

            RequestPayLoad = new StoreFrontWebServices.PartnerRequest()
            {
                PartnerRequestDetail = RequestDetails,
                PartnerRequestHeader = RequestHeader
            };
            WebServiceRequest.PartnerRequest = RequestPayLoad;
        }
        public ActionResult <PartnerResponse> Partners(string accountNumber, string salesOrg)
        {
            SimplePartnerRequest payload = new SimplePartnerRequest(accountNumber, salesOrg);

            if (!ModelState.IsValid)
            {
                Log(InfoMessage.ERROR_MSG_INVALID_PARTNER_REQUEST_MODEL);
                return(BadRequest(ModelState));
            }
            payload.PartnerId = accountNumber;

            PartnerResponse partnerResponseEntity = _accountService.GetPartnerDetails(payload);

            if (partnerResponseEntity == null)
            {
                Log(InfoMessage.ERROR_MSG_UNABLE_TO_GET_PARTNER_RESPONSE);
                return(NotFound(InfoMessage.ERROR_MSG_UNABLE_TO_GET_PARTNER_RESPONSE));
            }
            if (!String.IsNullOrEmpty(partnerResponseEntity.ErrorMessage))
            {
                Log(partnerResponseEntity.ErrorMessage);
                return(NotFound(partnerResponseEntity.ErrorMessage));
            }

            return(Ok(partnerResponseEntity));
        }
示例#3
0
 public PartnerLookupRequestRoot(SimplePartnerRequest req)
 {
     DISTR_CHAN      = SALES_DISTRIBUTION_CHANNEL;
     DIVISION        = SALES_DIVISION;
     PARTNER_IN      = req.PartnerId;
     PARTNER_ROLE_IN = SAP_SHIP_TO;
     SALESORG        = req.SalesAreaInfo.SalesOrgId;
 }
        public Partner GetAddress(string accountNumber, string salesOrg, Enumerations.AddressType addressType)
        {
            var payload = new SimplePartnerRequest(accountNumber, salesOrg);

            if (!ModelState.IsValid)
            {
                Log(InfoMessage.ERROR_MSG_INVALID_PARTNER_REQUEST_MODEL);
            }
            return(addressType == Enumerations.AddressType.BillTo ? _accountService.GetBillToAddress(payload) : _accountService.GetShipToAddress(payload));
        }
示例#5
0
        public Partner GetBillToAddress(SimplePartnerRequest request)
        {
            var payLoad = new PartnerLookupRequestRoot(request, Enumerations.AddressType.BillTo);

            LogRequest(payLoad, "GetBillToAddressLookup");
            var result         = _erpApi.PartnerLookupPost(payLoad);
            var partnerAddress = result.ToBillToAddressResponse(request.PartnerId);

            LogResponse(partnerAddress);
            return(partnerAddress);
        }
        public PartnerResponse PartnerLookup(string accountNumber, string salesOrg)
        {
            SimplePartnerRequest payload = new SimplePartnerRequest(accountNumber, salesOrg);

            if (!ModelState.IsValid)
            {
                Log(InfoMessage.ERROR_MSG_INVALID_PARTNER_REQUEST_MODEL);
            }
            payload.PartnerId = accountNumber;

            return(_accountService.PartnerLookup(payload));
        }
示例#7
0
        //Temporarily bringing this back for comparision with the new Boomi version
        public PartnerResponse GetPartnerDetails(SimplePartnerRequest partnerRequest)
        {
            var request = partnerRequest.ToWmPartnerRequest();
            var backup  = new BackupLogEntry(request, nameof(GetPartnerDetails));

            LogRequest(request, nameof(GetPartnerDetails));
            var wmPartnerResponse = _soapStoreFrontWebService.PartnerWebServiceAsync(request).Result;

            backup.AddResponse(wmPartnerResponse);
            _repository.InsertOne(backup);
            LogResponse(wmPartnerResponse);
            return(wmPartnerResponse.ToPartnerResponse());
        }
示例#8
0
        public PartnerResponse SimplePartnerLookup(SimplePartnerRequest request)
        {
            var payLoad = new PartnerLookupRequestRoot(request);
            var backup  = new BackupLogEntry(payLoad, nameof(SimplePartnerLookup));

            LogRequest(payLoad, nameof(SimplePartnerLookup));
            var result          = _erpApi.PartnerLookupPost(payLoad);
            var partnerResponse = result.ToPartnerResponse();

            backup.AddResponse(partnerResponse);
            _repository.InsertOne(backup);
            LogResponse(partnerResponse);
            return(partnerResponse);
        }
示例#9
0
        public PartnerLookupRequestRoot(SimplePartnerRequest req, Enumerations.AddressType addressType)
        {
            DISTR_CHAN = SALES_DISTRIBUTION_CHANNEL;
            DIVISION   = SALES_DIVISION;
            PARTNER_IN = req.PartnerId;
            SALESORG   = req.SalesAreaInfo.SalesOrgId;

            if (addressType == Enumerations.AddressType.BillTo)
            {
                PARTNER_ROLE_IN  = SAP_DUPLICATE_BILL_TO;
                PARTNER_ROLE_OUT = SAP_BILL_TO;
            }
            else
            {
                PARTNER_ROLE_IN  = SAP_SHIP_TO;
                PARTNER_ROLE_OUT = SAP_SHIP_TO;
            }
        }
示例#10
0
 public Partner GetBillToAddress(SimplePartnerRequest request)
 {
     return(_erpGateway.GetBillToAddress(request));
 }
示例#11
0
 /// <summary>
 /// New method that talke to Boomi
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public PartnerResponse PartnerLookup(SimplePartnerRequest request)
 {
     return(_erpGateway.SimplePartnerLookup(request));
 }
示例#12
0
 /// <summary>
 /// This method takes a client partner request model and converts, makes calls and converts response
 /// back to client side model
 /// </summary>
 /// <param name="partnerRequest"></param>
 /// <returns></returns>
 public PartnerResponse GetPartnerDetails(SimplePartnerRequest partnerRequest)
 {
     return(_webMethodClient.GetPartnerDetails(partnerRequest));
 }