/// <summary> /// Get the Shipping methods available in the scope. /// </summary> /// <param name="param"></param> /// <returns>The ShippingMethodsViewModel</returns> public async virtual Task <RecurringOrdersTemplatesShippingMethodsViewModel> GetShippingMethodsScopeAsync(GetShippingMethodsScopeParam param) { if (param == null) { throw new ArgumentNullException("param", "param is required"); } if (string.IsNullOrWhiteSpace(param.Scope)) { throw new ArgumentException("param.Scope is required", "param"); } if (param.CultureInfo == null) { throw new ArgumentException("param.CultureInfo is required", "param"); } var fulfillmentMethods = await FulfillmentMethodRepository.GetFulfillmentMethods(param.Scope).ConfigureAwait(false); if (fulfillmentMethods == null) { return(null); } var shippingMethodViewModels = fulfillmentMethods.FulfillmentMethods .Select(sm => RecurringOrderTemplateViewModelFactory.GetShippingMethodViewModel(sm, param.CultureInfo)).ToList(); return(new RecurringOrdersTemplatesShippingMethodsViewModel { ShippingMethods = shippingMethodViewModels }); }
protected virtual async Task <RecurringOrderTemplateViewModel> CreateTemplateDetailsViewModelAsync(CreateRecurringOrderTemplateDetailsViewModelParam param) { if (param == null) { throw new ArgumentNullException(nameof(param)); } if (param.RecurringOrderLineItem == null) { throw new ArgumentException(ArgumentNullMessageFormatter.FormatErrorMessage(nameof(param.RecurringOrderLineItem)), nameof(param)); } param.ProductImageInfo = new ProductImageInfo { ImageUrls = await ImageService.GetImageUrlsAsync(param.RecurringOrderLineItem).ConfigureAwait(false) }; var methodDisplayNames = await LookupService.GetLookupDisplayNamesAsync(new GetLookupDisplayNamesParam { CultureInfo = param.CultureInfo, LookupType = LookupType.Order, LookupName = "PaymentMethodType", }); param.PaymentMethodDisplayNames = methodDisplayNames; var vm = await RecurringOrderTemplateViewModelFactory.CreateRecurringOrderTemplateDetailsViewModel(param); return(vm); }