Exemplo n.º 1
0
        public virtual async Task <bool> GetIsPaymentMethodUsedInRecurringOrders(GetIsPaymentMethodUsedInRecurringOrdersRequest request)
        {
            if (!RecurringOrdersSettings.Enabled)
            {
                return(false);
            }

            if (request.ScopeId == null)
            {
                throw new ArgumentNullException(nameof(request.ScopeId));
            }
            if (request.CustomerId == null)
            {
                throw new ArgumentNullException(nameof(request.CustomerId));
            }
            if (request.CultureInfo == null)
            {
                throw new ArgumentNullException(nameof(request.CultureInfo));
            }
            if (request.PaymentMethodId == null)
            {
                throw new ArgumentNullException(nameof(request.PaymentMethodId));
            }

            var listOfRecurringOrderLineItems = await RecurringOrderRepository.GetRecurringOrderTemplates(request.ScopeId, request.CustomerId).ConfigureAwait(false);

            if (listOfRecurringOrderLineItems != null)
            {
                foreach (var item in listOfRecurringOrderLineItems.RecurringOrderLineItems ?? Enumerable.Empty <RecurringOrderLineItem>())
                {
                    if (item.PaymentMethodId == request.PaymentMethodId.ToGuid())
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Exemplo n.º 2
0
        public virtual async Task <RecurringOrderTemplatesViewModel> GetRecurringOrderTemplatesViewModelAsync(GetRecurringOrderTemplatesParam param)
        {
            if (!RecurringOrdersSettings.Enabled)
            {
                return(new RecurringOrderTemplatesViewModel());
            }

            if (param == null)
            {
                throw new ArgumentNullException(nameof(param));
            }
            if (param.CultureInfo == null)
            {
                throw new ArgumentException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(param.CultureInfo)), nameof(param));
            }
            if (param.Scope == null)
            {
                throw new ArgumentException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(param.Scope)), nameof(param));
            }
            if (param.CustomerId == null)
            {
                throw new ArgumentException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(param.CustomerId)), nameof(param));
            }

            var listOfRecurringOrderLineItems = await RecurringOrderRepository.GetRecurringOrderTemplates(param.Scope, param.CustomerId).ConfigureAwait(false);

            var vm = await CreateTemplatesViewModelAsync(new CreateRecurringOrderTemplatesViewModelParam
            {
                ListOfRecurringOrderLineItems = listOfRecurringOrderLineItems,
                CultureInfo = param.CultureInfo,
                BaseUrl     = param.BaseUrl,
                CustomerId  = param.CustomerId,
                ScopeId     = param.Scope,
            });

            return(vm);
        }