Example #1
0
        private async Task <SapTaskResult> SendIncomingPaymentToSap(SapServiceConfig serviceSetting, string sapSystem, SapSaleOrderInvoiceResponse response, string transferReference, SapLoginCookies cookies)
        {
            var billingMapper          = GetMapper(sapSystem);
            var incomingPaymentRequest = billingMapper.MapSapIncomingPayment(response.DocEntry, response.CardCode, response.DocTotal, response.DocDate, transferReference);

            var message = new HttpRequestMessage
            {
                RequestUri = new Uri($"{serviceSetting.BaseServerUrl}{serviceSetting.BillingConfig.IncomingPaymentsEndpoint}"),
                Content    = new StringContent(JsonConvert.SerializeObject(incomingPaymentRequest), Encoding.UTF8, "application/json"),
                Method     = HttpMethod.Post
            };

            message.Headers.Add("Cookie", cookies.B1Session);
            message.Headers.Add("Cookie", cookies.RouteId);

            var client      = _httpClientFactory.CreateClient();
            var sapResponse = await client.SendAsync(message);

            if (!sapResponse.IsSuccessStatusCode)
            {
                _logger.LogError($"Incoming Payment could'n create to SAP because exists an error: '{sapResponse.Content.ReadAsStringAsync()}'.");
            }

            return(new SapTaskResult
            {
                IsSuccessful = sapResponse.IsSuccessStatusCode,
                SapResponseContent = await sapResponse.Content.ReadAsStringAsync(),
                TaskName = "Creating Billing Request"
            });
        }
 public SapTaskHandler(
     SapConfig sapConfig,
     ILogger <SapTaskHandler> logger,
     IHttpClientFactory httpClientFactory,
     IDateTimeProvider dateTimeProvider,
     SapServiceConfig sapServiceConfig,
     IBusinessPartnerMapper businessPartnerMapper)
 {
     _sapConfig             = sapConfig;
     _logger                = logger;
     _httpClientFactory     = httpClientFactory;
     _dateTimeProvider      = dateTimeProvider;
     _sapServiceConfig      = sapServiceConfig;
     _businessPartnerMapper = businessPartnerMapper;
 }