public static async Task MapAsync(this OrganizedShoppingCartItem entity, WishlistModel.WishlistItemModel model) { await MapperFactory.MapAsync(entity, model, null); }
public override async Task MapAsync(IEnumerable <OrganizedShoppingCartItem> from, WishlistModel to, dynamic parameters = null) { Guard.NotNull(from, nameof(from)); Guard.NotNull(to, nameof(to)); if (!from.Any()) { return; } await base.MapAsync(from, to, null); to.IsEditable = parameters?.IsEditable == true; to.EmailWishlistEnabled = _shoppingCartSettings.EmailWishlistEnabled; to.DisplayAddToCart = await _services.Permissions.AuthorizeAsync(Permissions.Cart.AccessShoppingCart); var customer = from.FirstOrDefault().Item.Customer; to.CustomerGuid = customer.CustomerGuid; to.CustomerFullname = customer.GetFullName(); to.ShowItemsFromWishlistToCartButton = _shoppingCartSettings.ShowItemsFromWishlistToCartButton; // Cart warnings var warnings = new List <string>(); var cartIsValid = await _shoppingCartValidator.ValidateCartItemsAsync(from, warnings); if (!cartIsValid) { to.Warnings.AddRange(warnings); } foreach (var cartItem in from) { var model = new WishlistModel.WishlistItemModel { DisableBuyButton = cartItem.Item.Product.DisableBuyButton, }; await cartItem.MapAsync(model); if (parameters?.IsOffcanvas == true) { model.QuantityUnitName = null; var item = from.Where(c => c.Item.Id == model.Id).FirstOrDefault(); if (item != null) { model.AttributeInfo = await _productAttributeFormatter.FormatAttributesAsync( item.Item.AttributeSelection, item.Item.Product, null, htmlEncode : false, separator : ", ", includePrices : false, includeGiftCardAttributes : false, includeHyperlinks : false); } } to.AddItems(model); } }