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); }
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); }