コード例 #1
0
        public virtual async Task <IHttpActionResult> UpdateRecurringCartPaymentMethod([FromBody] UpdateRecurringCartPaymentMethodRequest request)
        {
            if (request == null)
            {
                return(BadRequest("Request cannot be null."));
            }

            var param = new GetPaymentProvidersParam
            {
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo
            };

            var providers = await PaymentViewService.GetPaymentProvidersAsync(param).ConfigureAwait(false);

            var vm = await PaymentViewService.UpdateRecurringOrderCartPaymentMethodAsync(new UpdatePaymentMethodParam
            {
                CartName            = request.CartName,
                CultureInfo         = ComposerContext.CultureInfo,
                CustomerId          = ComposerContext.CustomerId,
                PaymentId           = request.PaymentId.GetValueOrDefault(),
                Scope               = ComposerContext.Scope,
                PaymentMethodId     = request.PaymentMethodId.GetValueOrDefault(),
                PaymentProviderName = request.PaymentProviderName,
                PaymentType         = request.PaymentType,
                ProviderNames       = providers.Select(p => p.ProviderName).ToList(),
                IsAuthenticated     = ComposerContext.IsAuthenticated
            }, RequestUtils.GetBaseUrl(Request).ToString());

            return(Ok(vm));
        }