protected virtual string FindUrl(ListOfRecurringOrderLineItems recurringOrderLineItems, LineItemDetailViewModel lineItem, CultureInfo culture) { //TODO: Change if a customer can have more than one template of the same product/variant var recurringLineItem = recurringOrderLineItems.RecurringOrderLineItems.SingleOrDefault(r => string.Equals(r.ProductId, lineItem.ProductId, StringComparison.OrdinalIgnoreCase) && string.Equals(r.VariantId, lineItem.VariantId, StringComparison.OrdinalIgnoreCase)); if (recurringLineItem == null) { return(string.Empty); } var url = RecurringScheduleUrlProvider.GetRecurringScheduleDetailsUrl(new GetRecurringScheduleDetailsUrlParam() { CultureInfo = culture, RecurringScheduleId = recurringLineItem.RecurringOrderLineItemId.ToString() }); return(url); }
public virtual Task <List <ProductMainImage> > GetImageUrlsAsync(ListOfRecurringOrderLineItems list) { return(GetImageUrlsAsync(list.RecurringOrderLineItems.Select(lineItem => (lineItem.ProductId, lineItem.VariantId)).ToList())); }
protected virtual RecurringOrderLineItem GetRecurringOrderLineItemFromTemplates(ListOfRecurringOrderLineItems lineitems, string recurringLineItemIdString) { var recurringLineItemId = recurringLineItemIdString.ToGuid(); return(lineitems.RecurringOrderLineItems?.SingleOrDefault(r => r.RecurringOrderLineItemId == recurringLineItemId)); }