protected override void Render(StringBuilder sb, MerchantTribeApplication app, dynamic viewBag, ProductListViewModel model, bool showPagers, int columns) { var profiler = MiniProfiler.Current; using (profiler.Step("Rendering Detailed List...")) { var preppedItems = base.PrepProducts(model.Items, columns, app); var pagerRenderer = new code.TemplateEngine.TagHandlers.Pager(); string buttonUrlDetails = app.ThemeManager().ButtonUrl("View", app.IsCurrentRequestSecure()); string buttonUrlAddToCart = app.ThemeManager().ButtonUrl("AddToCart", app.IsCurrentRequestSecure()); if (showPagers == true) { pagerRenderer.Render(sb, model.PagerData); } foreach (var item in preppedItems) { RenderSingleModel(sb, item, app, buttonUrlDetails, buttonUrlAddToCart); } if (showPagers == true) { pagerRenderer.Render(sb, model.PagerData); } } }
public SingleProductViewModel(Product p, MerchantTribeApplication mtapp) { var profiler = MiniProfiler.Current; using (profiler.Step("Price Product " + p.ProductName)) { this.UserPrice = mtapp.PriceProduct(p, mtapp.CurrentCustomer, null, mtapp.CurrentlyActiveSales); } this.IsFirstItem = false; this.IsLastItem = false; this.Item = p; using (profiler.Step("Image Url Product" + p.ProductName)) { this.ImageUrl = MerchantTribe.Commerce.Storage.DiskStorage.ProductImageUrlSmall( mtapp, p.Bvin, p.ImageFileSmall, mtapp.IsCurrentRequestSecure()); } using (profiler.Step("Product Link " + p.ProductName)) { this.ProductLink = UrlRewriter.BuildUrlForProduct(p, mtapp.CurrentRequestContext.RoutingContext, string.Empty); } }
protected override void Render(StringBuilder sb, MerchantTribeApplication app, dynamic viewBag, ProductListViewModel model, bool showPagers, int columns) { var profiler = MiniProfiler.Current; using (profiler.Step("Rendering Bulk Order List...")) { var preppedItems = base.PrepProducts(model.Items, columns, app); var pagerRenderer = new code.TemplateEngine.TagHandlers.Pager(); if (showPagers == true) { pagerRenderer.Render(sb, model.PagerData); } if (showPagers == true) { pagerRenderer.Render(sb, model.PagerData); } sb.Append("<form action=\"" + app.CurrentRequestContext.UrlHelper.Content("~/cart/bulkadd") + "\" method=\"post\">"); sb.Append("<table width=\"100%\">"); foreach (var item in preppedItems) { sb.Append("<tr>"); sb.Append("<td class=\"checkbox\">"); if (item.Item.HasOptions()) { sb.Append(" "); } else { sb.Append("<input type=\"checkbox\" name=\"bulkitem\" value=\"" + item.Item.Bvin + "\" />"); } sb.Append("</td>"); sb.Append("<td class=\"records\">"); RenderSingleModel(sb, item, app); sb.Append("</td>"); sb.Append("</tr>"); } sb.Append("</table>"); string buttonUrlAddToCart = app.ThemeManager().ButtonUrl("AddToCart", app.IsCurrentRequestSecure()); sb.Append("<input type=\"image\" name=\"addtocart\" src=\"" + buttonUrlAddToCart + "\" alt=\"Add To Cart\" />"); sb.Append("</form>"); } }
private string ResolveUrl(string raw, MerchantTribeApplication app) { if (raw.Trim().ToLowerInvariant().StartsWith("http")) return raw; return MerchantTribe.Commerce.Storage.DiskStorage.AssetUrl( app, app.CurrentStore.Settings.ThemeId, raw, app.IsCurrentRequestSecure()); }
private List<SingleCategoryViewModel> PrepSubCategories(List<CategorySnapshot> snaps, MerchantTribeApplication app) { List<SingleCategoryViewModel> result = new List<SingleCategoryViewModel>(); int columnCount = 1; foreach (CategorySnapshot snap in snaps) { SingleCategoryViewModel model = new SingleCategoryViewModel(); model.LinkUrl = UrlRewriter.BuildUrlForCategory(snap, app.CurrentRequestContext.RoutingContext); model.IconUrl = MerchantTribe.Commerce.Storage.DiskStorage.CategoryIconUrl( app, snap.Bvin, snap.ImageUrl, app.IsCurrentRequestSecure()); model.AltText = snap.Name; model.Name = snap.Name; bool isLastInRow = false; bool isFirstInRow = false; if ((columnCount == 1)) { isFirstInRow = true; } if ((columnCount == 3)) { isLastInRow = true; columnCount = 1; } else { columnCount += 1; } model.IsFirstItem = isFirstInRow; model.IsLastItem = isLastInRow; result.Add(model); } return result; }