public static LineItem ToShopifyModel(this StorefrontModel.Order.LineItem lineItem, IStorefrontUrlBuilder urlBuilder) { var result = new LineItem { Fulfillment = null, Grams = lineItem.Weight ?? 0m, Id = lineItem.Id, Quantity = lineItem.Quantity ?? 0, Price = lineItem.Price.Amount * 100, ProductId = lineItem.ProductId, Sku = lineItem.Name, Title = lineItem.Name, Url = urlBuilder.ToAppAbsolute("/product/" + lineItem.ProductId), }; result.LinePrice = result.Price * result.Quantity; result.Product = new Product { Id = result.ProductId, Url = result.Url }; //result.Image = lineItem.Product.PrimaryImage != null ? lineItem.Product.PrimaryImage.ToShopifyModel() : null; //result.RequiresShipping = lineItem.RequiredShipping; //result.Taxable = lineItem.TaxIncluded; return result; }
public static Link ToShopfiyModel(this StorefrontModel.MenuLink storefrontModel, Storefront.Model.WorkContext workContext, IStorefrontUrlBuilder urlBuilder) { var shopifyModel = new Link(); shopifyModel.Active = storefrontModel.IsActive; shopifyModel.Object = ""; shopifyModel.Title = storefrontModel.Title; shopifyModel.Type = ""; shopifyModel.Url = urlBuilder.ToAppAbsolute(storefrontModel.Url); var productLink = storefrontModel as StorefrontModel.ProductMenuLink; var categoryLink = storefrontModel as StorefrontModel.CategoryMenuLink; if (productLink != null) { shopifyModel.Type = "product"; if (productLink.Product != null) { shopifyModel.Object = productLink.Product.ToShopifyModel(); } } if (categoryLink != null) { shopifyModel.Type = "collection"; if (categoryLink.Category != null) { shopifyModel.Object = categoryLink.Category.ToShopifyModel(workContext); } } return shopifyModel; }
public ShopifyCompatibilityController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogService) : base(workContext, urlBuilder) { _workContext = workContext; _urlBuilder = urlBuilder; _cartBuilder = cartBuilder; _catalogService = catalogService; }
public ApiCommonController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, IStoreModuleApi storeModuleApi) : base(workContext, urlBuilder) { _storeModuleApi = storeModuleApi; _countriesWithoutRegions = workContext.AllCountries .Select(c => new Country { Name = c.Name, Code2 = c.Code2, Code3 = c.Code3, RegionType = c.RegionType }) .ToArray(); }
public MarketingController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, IMarketingService marketingService, IPromotionEvaluator promotionEvaluator, IPricingModuleApi pricingApi) : base(workContext, urlBuilder) { _marketingService = marketingService; _pricingApi = pricingApi; _promotionEvaluator = promotionEvaluator; }
public ApiQuoteRequestController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, IQuoteModuleApi quoteApi, IQuoteRequestBuilder quoteRequestBuilder, ICatalogSearchService catalogSearchService) : base(workContext, urlBuilder) { _quoteApi = quoteApi; _quoteRequestBuilder = quoteRequestBuilder; _cartBuilder = cartBuilder; _catalogSearchService = catalogSearchService; }
public ApiCartController(WorkContext workContext, ICatalogSearchService catalogSearchService, ICartBuilder cartBuilder, IOrderModuleApi orderApi, ICartValidator cartValidator, IStorefrontUrlBuilder urlBuilder, IEventPublisher<OrderPlacedEvent> orderPlacedEventPublisher) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _orderApi = orderApi; _cartValidator = cartValidator; _catalogSearchService = catalogSearchService; _orderPlacedEventPublisher = orderPlacedEventPublisher; }
public static Linklist ToShopifyModel(this StorefrontModel.MenuLinkList storefrontModel, Storefront.Model.WorkContext workContext, IStorefrontUrlBuilder urlBuilder) { var shopifyModel = new Linklist(); shopifyModel.Handle = storefrontModel.Name; shopifyModel.Id = storefrontModel.Id; shopifyModel.Links = storefrontModel.MenuLinks.Select(ml => ml.ToShopfiyModel(workContext, urlBuilder)).ToList(); shopifyModel.Title = storefrontModel.Name; return shopifyModel; }
public CommonController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, IStoreModuleApiClient storeModuleApi, IPlatformModuleApiClient platformApi, ILocalCacheManager cacheManager) : base(workContext, urlBuilder) { _cacheManager = cacheManager; _storeModuleApi = storeModuleApi; _platformApi = platformApi; _countriesWithoutRegions = workContext.AllCountries .Select(c => new Country { Name = c.Name, Code2 = c.Code2, Code3 = c.Code3, RegionType = c.RegionType }) .ToArray(); }
public AccountController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICoreModuleApiClient commerceCoreApi, IAuthenticationManager authenticationManager, IPlatformModuleApiClient platformApi, ICustomerService customerService, IOrdersModuleApiClient orderApi, IEventPublisher <UserLoginEvent> userLoginEventPublisher) : base(workContext, urlBuilder) { _commerceCoreApi = commerceCoreApi; _customerService = customerService; _authenticationManager = authenticationManager; _platformApi = platformApi; _orderApi = orderApi; _userLoginEventPublisher = userLoginEventPublisher; }
public AccountController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICommerceCoreModuleApi commerceCoreApi, ICustomerManagementModuleApi customerApi, IAuthenticationManager authenticationManager, IVirtoCommercePlatformApi platformApi, IOrderModuleApi orderApi, ICartBuilder cartBuilder) : base(workContext, urlBuilder) { _commerceCoreApi = commerceCoreApi; _customerApi = customerApi; _authenticationManager = authenticationManager; _platformApi = platformApi; _orderApi = orderApi; _cartBuilder = cartBuilder; }
public ShopifyLiquidThemeEngine(IStorefrontMemoryCache memoryCache, IWorkContextAccessor workContextAccessor, IHttpContextAccessor httpContextAccessor, IStorefrontUrlBuilder storeFrontUrlBuilder, IContentBlobProvider contentBlobProvider, ISassFileManager sassFileManager, IOptions <LiquidThemeEngineOptions> options) { _workContextAccessor = workContextAccessor; _httpContextAccessor = httpContextAccessor; UrlBuilder = storeFrontUrlBuilder; _options = options.Value; _memoryCache = memoryCache; _themeBlobProvider = contentBlobProvider; _sassFileManager = sassFileManager; SassCompiler.FileManager = sassFileManager; }
public AccountController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICommerceCoreModuleApi commerceCoreApi, IAuthenticationManager authenticationManager, IVirtoCommercePlatformApi platformApi, ICustomerService customerService, IOrderModuleApi orderApi, IEventPublisher<UserLoginEvent> userLoginEventPublisher) : base(workContext, urlBuilder) { _commerceCoreApi = commerceCoreApi; _customerService = customerService; _authenticationManager = authenticationManager; _platformApi = platformApi; _orderApi = orderApi; _userLoginEventPublisher = userLoginEventPublisher; }
public ApiAccountController(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder, UserManager <User> userManager, SignInManager <User> signInManager, IAuthorizationService authorizationService, IMemberService memberService, IEventPublisher publisher, IStorefrontSecurity commerceCoreApi, INotifications platformNotificationApi) : base(workContextAccessor, urlBuilder) { _userManager = userManager; _memberService = memberService; _publisher = publisher; _commerceCoreApi = commerceCoreApi; _platformNotificationApi = platformNotificationApi; _authorizationService = authorizationService; _signInManager = signInManager; }
public LiquidThemedView(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder, ILiquidThemeEngine themeEngine, string viewName, string path, bool isMainPage) { if (string.IsNullOrEmpty(viewName)) { throw new ArgumentNullException(nameof(viewName)); } _workContextAccessor = workContextAccessor; _urlBuilder = urlBuilder; _liquidThemeEngine = themeEngine ?? throw new ArgumentNullException(nameof(themeEngine)); _viewName = viewName; _isMainPage = isMainPage; Path = path; }
public CartController(WorkContext workContext, IShoppingCartModuleApi cartApi, IOrderModuleApi orderApi, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogService, IMarketingModuleApi marketingApi, ICommerceCoreModuleApi commerceApi, ICustomerManagementModuleApi customerApi) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _catalogService = catalogService; _cartApi = cartApi; _orderApi = orderApi; _marketingApi = marketingApi; _commerceApi = commerceApi; _customerApi = customerApi; }
public DemoCatalogService(IWorkContextAccessor workContextAccessor, ICatalogModuleCategories categoriesApi, ICatalogModuleProducts productsApi, ICatalogModuleAssociations associationsApi, ICatalogModuleIndexedSearch searchApi, IPricingService pricingService, IMemberService customerService, ISubscriptionService subscriptionService, IInventoryService inventoryService, IStorefrontMemoryCache memoryCache, IApiChangesWatcher changesWatcher, IStorefrontUrlBuilder storefrontUrlBuilder) : base(workContextAccessor, categoriesApi, productsApi, associationsApi, searchApi, pricingService, customerService, subscriptionService, inventoryService, memoryCache, changesWatcher, storefrontUrlBuilder) { }
public CartController(WorkContext workContext, IOrderModuleApi orderApi, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogService, IMarketingModuleApi marketingApi, ICommerceCoreModuleApi commerceApi, ICustomerManagementModuleApi customerApi, ICartValidator cartValidator, IEventPublisher<OrderPlacedEvent> orderPlacedEventPublisher) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _catalogService = catalogService; _orderApi = orderApi; _marketingApi = marketingApi; _commerceApi = commerceApi; _customerApi = customerApi; _cartValidator = cartValidator; _orderPlacedEventPublisher = orderPlacedEventPublisher; }
public CartController(WorkContext workContext, IOrderModuleApi orderApi, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogService, IMarketingModuleApi marketingApi, ICommerceCoreModuleApi commerceApi, ICustomerManagementModuleApi customerApi, ICartValidator cartValidator, IEventPublisher <OrderPlacedEvent> orderPlacedEventPublisher) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _catalogService = catalogService; _orderApi = orderApi; _marketingApi = marketingApi; _commerceApi = commerceApi; _customerApi = customerApi; _cartValidator = cartValidator; _orderPlacedEventPublisher = orderPlacedEventPublisher; }
public ShopifyLiquidThemeEngine(IStorefrontMemoryCache memoryCache, IWorkContextAccessor workContextAccessor, IHttpContextAccessor httpContextAccessor, IStorefrontUrlBuilder storeFrontUrlBuilder, IContentBlobProvider contentBlobProvider, ISassFileManager sassFileManager, IOptions <LiquidThemeEngineOptions> options, IFeaturesAgent featuresAgent, IPostRenderTemplateChange postRenderTemplateChange) { _workContextAccessor = workContextAccessor; _httpContextAccessor = httpContextAccessor; UrlBuilder = storeFrontUrlBuilder; _options = options.Value; _memoryCache = memoryCache; _themeBlobProvider = contentBlobProvider; _sassFileManager = sassFileManager; _featuresAgent = featuresAgent; _postRenderTemplateChange = postRenderTemplateChange; SassCompiler.FileManager = sassFileManager; }
public static MenuLink ToWebModel(this VirtoCommerceContentWebModelsMenuLink serviceModel, IStorefrontUrlBuilder urlBuilder) { var webModel = new MenuLink(); webModel.InjectFrom(serviceModel); if (serviceModel.SecurityScopes != null) { webModel.SecurityScopes = serviceModel.SecurityScopes.Select(ss => ss).ToList(); } webModel.Url = urlBuilder.ToAppAbsolute("/" + serviceModel.Url); return webModel; }
public AccountController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICommerceCoreModuleApi commerceCoreApi, IAuthenticationManager authenticationManager, IVirtoCommercePlatformApi platformApi, ICartBuilder cartBuilder, ICustomerService customerService, IOrderModuleApi orderApi, IEventPublisher <UserLoginEvent> userLoginEventPublisher, ICacheManager <object> cacheManager) : base(workContext, urlBuilder) { _commerceCoreApi = commerceCoreApi; _customerService = customerService; _authenticationManager = authenticationManager; _platformApi = platformApi; _cartBuilder = cartBuilder; _cacheManager = cacheManager; _orderApi = orderApi; _userLoginEventPublisher = userLoginEventPublisher; }
public AccountController( IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder, SignInManager <User> signInManager, IEventPublisher publisher, INotifications platformNotificationApi, IAuthorizationService authorizationService, IOptions <StorefrontOptions> options) : base(workContextAccessor, urlBuilder) { _signInManager = signInManager; _publisher = publisher; _options = options.Value; _platformNotificationApi = platformNotificationApi; _authorizationService = authorizationService; }
public static MenuLinkList ToWebModel(this VirtoCommerceContentWebModelsMenuLinkList serviceModel, IStorefrontUrlBuilder urlBuilder) { var webModel = new MenuLinkList(); webModel.InjectFrom(serviceModel); if (serviceModel.MenuLinks != null) { webModel.MenuLinks = serviceModel.MenuLinks.Select(ml => ml.ToWebModel(urlBuilder)).ToList(); } if (serviceModel.SecurityScopes != null) { webModel.SecurityScopes = serviceModel.SecurityScopes.Select(ss => ss).ToList(); } return webModel; }
public UrlBuilderStoreWithUrlsSecureRequest() { _workContext = new WorkContext { RequestUrl = new Uri("https://localhost/secure1/path"), AllStores = new[] { new Store { Id = "Store1", Url = "http://localhost/insecure1", SecureUrl = "https://localhost/secure1", DefaultLanguage = new Language("ru-RU"), Languages = new List <Language>(new[] { new Language("en-US"), new Language("ru-RU"), new Language("lt-LT"), }), }, new Store { Id = "Store2", DefaultLanguage = new Language("es-ES"), Languages = new List <Language>(new[] { new Language("de-DE"), new Language("es-ES"), new Language("fr-FR"), }), } } }; _workContext.CurrentStore = _workContext.AllStores.First(); _workContext.CurrentLanguage = _workContext.CurrentStore.Languages.First(); _builder = new StorefrontUrlBuilder(_workContext); }
public UrlBuilderSingleStoreSingleLanguage() { _workContext = new WorkContext { AllStores = new[] { new Store { Id = "Store1", DefaultLanguage = new Language("en-US"), Languages = new List <Language>(new[] { new Language("en-US"), }), }, } }; _workContext.CurrentStore = _workContext.AllStores.First(); _workContext.CurrentLanguage = _workContext.CurrentStore.Languages.First(); _builder = new StorefrontUrlBuilder(_workContext); }
public UrlBuilderMultipleStoresMultipleLanguages() { _workContext = new WorkContext { AllStores = new[] { new Store { Id = "Store1", DefaultLanguage = new Language("ru-RU"), Languages = new List <Language>(new[] { new Language("en-US"), new Language("ru-RU"), new Language("lt-LT"), }), }, new Store { Id = "Store2", DefaultLanguage = new Language("es-ES"), Languages = new List <Language>(new[] { new Language("de-DE"), new Language("es-ES"), new Language("fr-FR"), }), } } }; _workContext.CurrentStore = _workContext.AllStores.First(); _workContext.CurrentLanguage = _workContext.CurrentStore.Languages.First(); _builder = new StorefrontUrlBuilder(_workContext); }
public ProductController(WorkContext context, IStorefrontUrlBuilder urlBuilder, ICatalogSearchService productService, ICatalogSearchService searchService) : base(context, urlBuilder) { _productService = productService; _searchService = searchService; }
public StorefrontControllerBase(WorkContext context, IStorefrontUrlBuilder urlBuilder) { WorkContext = context; UrlBuilder = urlBuilder; }
public ApiOrderController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, IOrdersModuleApiClient orderApi, IStoreModuleApiClient storeApi) : base(workContext, urlBuilder) { _orderApi = orderApi; _storeApi = storeApi; }
public ApiMarketingController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, IMarketingService marketingService) : base(workContext, urlBuilder) { _marketingService = marketingService; }
public ApiCustomerReviewsController(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder, ICustomerReviewService customerReviewService) : base(workContextAccessor, urlBuilder) { _customerReviewService = customerReviewService; }
public ApiRecommendationsController(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder, IRecommendationProviderFactory providerFactory) : base(workContextAccessor, urlBuilder) { _providerFactory = providerFactory; }
public ApiCatalogController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICatalogSearchService catalogSearchService) : base(workContext, urlBuilder) { _catalogSearchService = catalogSearchService; }
public ApiAccountController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder) : base(workContext, urlBuilder) { }
public MenuLinkListServiceImpl(ICMSContentModuleApi cmsApi, ICatalogSearchService catalogSearchService, IStorefrontUrlBuilder urlBuilder) { _cmsApi = cmsApi; _catalogSearchService = catalogSearchService; _urlBuilder = urlBuilder; }
public virtual ShopifyThemeWorkContext ToLiquidContext(storefrontModel.WorkContext workContext, IStorefrontUrlBuilder urlBuilder) { var result = new ShopifyThemeWorkContext(); result.CurrentPage = 1; result.Layout = workContext.Layout; result.CountryOptionTags = string.Join("\r\n", workContext.AllCountries.OrderBy(c => c.Name).Select(c => c.ToOptionTag())); result.PageDescription = workContext.CurrentPageSeo != null ? workContext.CurrentPageSeo.MetaDescription : string.Empty; result.PageTitle = workContext.CurrentPageSeo != null ? workContext.CurrentPageSeo.Title : string.Empty; result.PageImageUrl = workContext.CurrentPageSeo != null ? workContext.CurrentPageSeo.ImageUrl : string.Empty; result.CanonicalUrl = workContext.CurrentPageSeo != null?urlBuilder.ToAppAbsolute(workContext.CurrentPageSeo.Slug) : null; result.Shop = workContext.CurrentStore != null?ToLiquidShop(workContext.CurrentStore, workContext) : null; result.Cart = workContext.CurrentCart != null && workContext.CurrentCart.IsValueCreated ? ToLiquidCart(workContext.CurrentCart.Value, workContext.CurrentLanguage, urlBuilder) : null; result.Product = workContext.CurrentProduct != null?ToLiquidProduct(workContext.CurrentProduct) : null; result.Vendor = workContext.CurrentVendor != null?ToLiquidVendor(workContext.CurrentVendor) : null; result.Customer = workContext.CurrentUser != null && workContext.CurrentUser.IsRegisteredUser ? ToLiquidCustomer(workContext.CurrentUser, workContext, urlBuilder) : null; result.AllStores = workContext.AllStores.Select(x => ToLiquidShop(x, workContext)).ToArray(); result.CurrentCurrency = workContext.CurrentCurrency != null?ToLiquidCurrency(workContext.CurrentCurrency) : null; result.CurrentLanguage = workContext.CurrentLanguage != null?ToLiquidLanguage(workContext.CurrentLanguage) : null; if (workContext.CurrentProductSearchCriteria != null && workContext.CurrentProductSearchCriteria.Terms.Any()) { result.CurrentTags = new TagCollection( workContext.CurrentProductSearchCriteria.Terms.Select(t => ToLiquidTag(t)).ToList()); } if (workContext.CurrentCategory != null) { result.Collection = ToLiquidCollection(workContext.CurrentCategory, workContext); } if (workContext.Categories != null) { result.Collections = new Collections(new MutablePagedList <Collection>((pageNumber, pageSize, sortInfos) => { workContext.Categories.Slice(pageNumber, pageSize, sortInfos); return(new StaticPagedList <Collection>(workContext.Categories.Select(x => ToLiquidCollection(x, workContext)), workContext.Categories)); }, 1, workContext.Categories.PageSize)); } if (workContext.Products != null) { result.Products = new MutablePagedList <Product>((pageNumber, pageSize, sortInfos) => { workContext.Products.Slice(pageNumber, pageSize, sortInfos); return(new StaticPagedList <Product>(workContext.Products.Select(x => ToLiquidProduct(x)), workContext.Products)); }, workContext.Products.PageNumber, workContext.Products.PageSize); } if (workContext.Vendors != null) { result.Vendors = new MutablePagedList <Vendor>((pageNumber, pageSize, sortInfos) => { workContext.Vendors.Slice(pageNumber, pageSize, sortInfos); return(new StaticPagedList <Vendor>(workContext.Vendors.Select(x => ToLiquidVendor(x)), workContext.Vendors)); }, workContext.Vendors.PageNumber, workContext.Vendors.PageSize); } if (workContext.CurrentProductSearchCriteria != null && !string.IsNullOrEmpty(workContext.CurrentProductSearchCriteria.Keyword) && workContext.Products != null) { result.Search = ToLiquidSearch(workContext.Products, workContext); } else if (workContext.CurrentStaticSearchCriteria != null && !string.IsNullOrEmpty(workContext.CurrentStaticSearchCriteria.Keyword)) { result.Search = new Search { Performed = true, SearchIn = workContext.CurrentStaticSearchCriteria.SearchIn, Terms = workContext.CurrentStaticSearchCriteria.Keyword }; if (workContext.StaticContentSearchResult != null && workContext.StaticContentSearchResult.Any()) { result.Search.Results = new MutablePagedList <Drop>((pageNumber, pageSize, sortInfos) => { var pagedContentItems = new MutablePagedList <ContentItem>(workContext.StaticContentSearchResult); pagedContentItems.Slice(pageNumber, pageSize, sortInfos); return(new StaticPagedList <Drop>(workContext.StaticContentSearchResult.Select(x => ToLiquidPage(x)), pagedContentItems)); }, 1, workContext.StaticContentSearchResult.PageSize); } } if (workContext.CurrentLinkLists != null) { result.Linklists = new Linklists(workContext.CurrentLinkLists.Select(x => ToLiquidLinklist(x, workContext, urlBuilder))); } if (workContext.Pages != null) { result.Pages = new Pages(workContext.Pages.OfType <ContentPage>().Select(x => ToLiquidPage(x))); result.Blogs = new Blogs(workContext.Blogs.Select(x => ToLiquidBlog(x, workContext.CurrentLanguage))); } if (workContext.CurrentOrder != null) { result.Order = ToLiquidOrder(workContext.CurrentOrder, workContext.CurrentLanguage, urlBuilder); } if (workContext.CurrentQuoteRequest != null) { result.QuoteRequest = ToLiquidQuoteRequest(workContext.CurrentQuoteRequest.Value); } result.PaymentFormHtml = workContext.PaymentFormHtml; if (workContext.CurrentPage != null) { result.Page = ToLiquidPage(workContext.CurrentPage); } if (workContext.CurrentBlog != null) { result.Blog = ToLiquidBlog(workContext.CurrentBlog, workContext.CurrentLanguage); } if (workContext.CurrentBlogSearchCritera != null) { result.BlogSearch = ToLiquidBlogSearch(workContext.CurrentBlogSearchCritera); } if (workContext.CurrentBlogArticle != null) { result.Article = ToLiquidArticle(workContext.CurrentBlogArticle); } if (workContext.Form != null) { result.Form = new Form { Properties = new Dictionary <string, object>() }; var formProps = workContext.Form.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); var formPropNames = formProps.Select(x => x.Name).ToArray(); foreach (var property in formProps) { var propertyValue = property.GetValue(workContext.Form); if (propertyValue != null) { result.Form.Properties[Template.NamingConvention.GetMemberName(property.Name)] = propertyValue; if (typeof(IEntity).IsAssignableFrom(property.PropertyType) || typeof(IValueObject).IsAssignableFrom(property.PropertyType)) { //For it is user type need to register this type as Drop in Liquid Template Template.RegisterSafeType(property.GetType(), formPropNames); var allChildEntities = propertyValue.GetFlatObjectsListWithInterface <IEntity>(); foreach (var type in allChildEntities.Select(x => x.GetType()).Distinct()) { Template.RegisterSafeType(type, formPropNames); } var allChildLiquidObjects = propertyValue.GetFlatObjectsListWithInterface <IValueObject>(); foreach (var type in allChildLiquidObjects.Select(x => x.GetType()).Distinct()) { Template.RegisterSafeType(type, formPropNames); } } } } } if (workContext.StorefrontNotification != null) { result.Notification = ToLiquidNotification(workContext.StorefrontNotification); } result.ExternalLoginProviders = workContext.ExternalLoginProviders.Select(p => new LoginProvider { AuthenticationType = p.AuthenticationType, Caption = p.Caption, Properties = p.Properties }).ToList(); result.ApplicationSettings = new MetafieldsCollection("application_settings", workContext.ApplicationSettings); //Powered by link if (workContext.CurrentStore != null) { var storeName = workContext.CurrentStore.Name; var hashCode = (uint)storeName.GetHashCode(); result.PoweredByLink = _poweredLinks[hashCode % _poweredLinks.Length]; } if (workContext.RequestUrl != null) { result.RequestUrl = workContext.RequestUrl.ToString(); //Populate current page number result.CurrentPage = workContext.PageNumber ?? 1; result.PageSize = workContext.PageSize ?? 0; } if (workContext.AvailableRoles != null) { result.AvailableRoles = workContext.AvailableRoles.Select(x => new Role { Id = x.Id, Name = x.Name }).ToArray(); } if (workContext.CurrentFulfillmentCenter != null) { result.FulfillmentCenter = workContext.CurrentFulfillmentCenter.ToShopifyModel(); } if (workContext.FulfillmentCenters != null) { result.FulfillmentCenters = new MutablePagedList <FulfillmentCenter>((pageNumber, pageSize, sortInfos) => { workContext.FulfillmentCenters.Slice(pageNumber, pageSize, sortInfos); return(new StaticPagedList <FulfillmentCenter>(workContext.FulfillmentCenters.Select(x => x.ToShopifyModel()), workContext.FulfillmentCenters)); }, workContext.FulfillmentCenters.PageNumber, workContext.FulfillmentCenters.PageSize); } return(result); }
public ApiListsController(IWorkContextAccessor workContextAccessor, ICatalogService catalogService, ICartService cartService, ICartBuilder cartBuilder, IStorefrontUrlBuilder urlBuilder) : base(workContextAccessor, urlBuilder) { _cartBuilder = cartBuilder; _catalogService = catalogService; _cartService = cartService; }
public QuoteRequestController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, IQuoteRequestBuilder quoteRequestBuilder) : base(workContext, urlBuilder) { _quoteRequestBuilder = quoteRequestBuilder; }
public static Order ToShopifyModel(this CustomerOrder order, IStorefrontUrlBuilder urlBuilder) { var result = new Order(); result.InjectFrom<NullableAndEnumValueInjecter>(order); result.Cancelled = order.IsCancelled == true; result.CancelledAt = order.CancelledDate; result.CancelReason = order.CancelReason; result.CancelReasonLabel = order.CancelReason; result.CreatedAt = order.CreatedDate ?? DateTime.MinValue; result.Name = order.Number; result.OrderNumber = order.Number; result.CustomerUrl = urlBuilder.ToAppAbsolute("/account/order/" + order.Number); if (order.Addresses != null) { var shippingAddress = order.Addresses .FirstOrDefault(a => (a.Type & AddressType.Shipping) == AddressType.Shipping); if (shippingAddress != null) { result.ShippingAddress = shippingAddress.ToShopifyModel(); } var billingAddress = order.Addresses .FirstOrDefault(a => (a.Type & AddressType.Billing) == AddressType.Billing); if (billingAddress != null) { result.BillingAddress = billingAddress.ToShopifyModel(); } else if (shippingAddress != null) { result.BillingAddress = shippingAddress.ToShopifyModel(); } result.Email = order.Addresses .Where(a => !string.IsNullOrEmpty(a.Email)) .Select(a => a.Email) .FirstOrDefault(); } var discountTotal = order.DiscountAmount != null ? order.DiscountAmount.Amount : 0; var discounts = new List<Discount>(); if (order.Discount != null) { discounts.Add(order.Discount.ToShopifyModel()); } var taxLines = new List<Objects.TaxLine>(); if (order.InPayments != null) { var inPayment = order.InPayments .OrderByDescending(p => p.CreatedDate) .FirstOrDefault(); if (inPayment != null) { if (string.IsNullOrEmpty(inPayment.Status)) { result.FinancialStatus = inPayment.IsApproved == true ? "Paid" : "Pending"; result.FinancialStatusLabel = inPayment.IsApproved == true ? "Paid" : "Pending"; } else { result.FinancialStatus = inPayment.Status; result.FinancialStatusLabel = inPayment.Status; } if (inPayment.TaxIncluded == true) { taxLines.Add(new Objects.TaxLine { Title = "Payments tax", Price = inPayment.Tax.Amount * 100 }); } } } if (order.Shipments != null) { result.ShippingMethods = order.Shipments.Select(s => s.ToShopifyModel()).ToArray(); result.ShippingPrice = result.ShippingMethods.Sum(s => s.Price); var orderShipment = order.Shipments.FirstOrDefault(); if (orderShipment != null) { if (string.IsNullOrEmpty(orderShipment.Status)) { result.FulfillmentStatus = orderShipment.IsApproved == true ? "Sent" : "Not sent"; result.FulfillmentStatusLabel = orderShipment.IsApproved == true ? "Sent" : "Not sent"; } else { result.FulfillmentStatus = orderShipment.Status; result.FulfillmentStatusLabel = orderShipment.Status; } if (orderShipment.TaxIncluded == true) { taxLines.Add(new Objects.TaxLine { Title = "Shipping tax", Price = orderShipment.Tax.Amount * 100 }); } } var shipmentsWithTax = order.Shipments .Where(s => s.Tax.Amount > 0) .ToList(); if (shipmentsWithTax.Count > 0) { taxLines.Add(new Objects.TaxLine { Title = "Shipping", Price = shipmentsWithTax.Sum(s => s.Tax.Amount) * 100 }); } var shipmentsWithDiscount = order.Shipments .Where(s => s.DiscountAmount.Amount > 0) .ToList(); if (shipmentsWithDiscount.Any()) { var shipmentDiscount = shipmentsWithDiscount.Sum(s => s.DiscountAmount.Amount); discountTotal += shipmentDiscount; discounts.Add(new Discount { Type = "ShippingDiscount", Code = "Shipping", Amount = shipmentDiscount * 100, Savings = -shipmentDiscount, }); } } if (order.Items != null) { result.LineItems = order.Items.Select(i => i.ToShopifyModel(urlBuilder)).ToArray(); result.SubtotalPrice = order.Items.Sum(i => i.BasePrice.Amount * i.Quantity ?? 0) * 100; var itemsWithTax = order.Items .Where(i => i.Tax.Amount > 0m) .ToList(); if (itemsWithTax.Any()) { taxLines.Add(new Objects.TaxLine { Title = "Line items", Price = itemsWithTax.Sum(i => i.Tax.Amount * 100) }); } var itemsWithDiscount = order.Items .Where(i => i.DiscountAmount.Amount > 0m) .ToList(); if (itemsWithDiscount.Any()) { var itemsDiscount = itemsWithDiscount.Sum(i => i.DiscountAmount.Amount); discountTotal += itemsDiscount; discounts.Add(new Discount { Type = "FixedAmountDiscount", Code = "Items", Amount = itemsDiscount * 100, Savings = -itemsDiscount * 100, }); } } result.TaxLines = taxLines.ToArray(); result.TaxPrice = taxLines.Sum(t => t.Price); result.Discounts = discounts.ToArray(); result.TotalPrice = order.Sum.Amount * 100; return result; }
public CatalogSearchController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICatalogSearchService searchService) : base(workContext, urlBuilder) { _searchService = searchService; }
public PageController(WorkContext context, IStorefrontUrlBuilder urlBuilder) : base(context, urlBuilder) { }
public virtual ShopifyThemeWorkContext ToLiquidContext(storefrontModel.WorkContext workContext, IStorefrontUrlBuilder urlBuilder) { var result = new ShopifyThemeWorkContext(); result.CurrentPage = 1; result.CountryOptionTags = string.Join("\r\n", workContext.AllCountries.OrderBy(c => c.Name).Select(c => c.ToOptionTag())); result.PageDescription = workContext.CurrentPageSeo != null ? workContext.CurrentPageSeo.MetaDescription : string.Empty; result.PageTitle = workContext.CurrentPageSeo != null ? workContext.CurrentPageSeo.Title : string.Empty; result.PageImageUrl = workContext.CurrentPageSeo != null ? workContext.CurrentPageSeo.ImageUrl : string.Empty; result.CanonicalUrl = workContext.CurrentPageSeo != null?urlBuilder.ToAppAbsolute(workContext.CurrentPageSeo.Slug) : null; result.Shop = workContext.CurrentStore != null?ToLiquidShop(workContext.CurrentStore, workContext) : null; result.Cart = workContext.CurrentCart != null?ToLiquidCart(workContext.CurrentCart, workContext.CurrentLanguage, urlBuilder) : null; result.Product = workContext.CurrentProduct != null?ToLiquidProduct(workContext.CurrentProduct) : null; result.Vendor = workContext.CurrentVendor != null?ToLiquidVendor(workContext.CurrentVendor) : null; result.Customer = workContext.CurrentCustomer != null && workContext.CurrentCustomer.IsRegisteredUser ? ToLiquidCustomer(workContext.CurrentCustomer, workContext, urlBuilder) : null; result.AllStores = workContext.AllStores.Select(x => ToLiquidShop(x, workContext)).ToArray(); result.CurrentCurrency = workContext.CurrentCurrency != null?ToLiquidCurrency(workContext.CurrentCurrency) : null; result.CurrentLanguage = workContext.CurrentLanguage != null?ToLiquidLanguage(workContext.CurrentLanguage) : null; if (workContext.CurrentProductSearchCriteria != null && workContext.CurrentProductSearchCriteria.Terms.Any()) { result.CurrentTags = new TagCollection( workContext.CurrentProductSearchCriteria.Terms.Select(t => ToLiquidTag(t)).ToList()); } if (workContext.CurrentCategory != null) { result.Collection = ToLiquidCollection(workContext.CurrentCategory, workContext); } if (workContext.Categories != null) { result.Collections = new Collections(new MutablePagedList <Collection>((pageNumber, pageSize, sortInfos) => { workContext.Categories.Slice(pageNumber, pageSize, sortInfos); return(new StaticPagedList <Collection>(workContext.Categories.Select(x => ToLiquidCollection(x, workContext)), workContext.Categories)); }, 1, workContext.Categories.PageSize)); } if (workContext.Products != null) { result.Products = new MutablePagedList <Product>((pageNumber, pageSize, sortInfos) => { workContext.Products.Slice(pageNumber, pageSize, sortInfos); return(new StaticPagedList <Product>(workContext.Products.Select(x => ToLiquidProduct(x)), workContext.Products)); }, workContext.Products.PageNumber, workContext.Products.PageSize); } if (workContext.Vendors != null) { result.Vendors = new MutablePagedList <Vendor>((pageNumber, pageSize, sortInfos) => { workContext.Vendors.Slice(pageNumber, pageSize, sortInfos); return(new StaticPagedList <Vendor>(workContext.Vendors.Select(x => ToLiquidVendor(x)), workContext.Vendors)); }, workContext.Vendors.PageNumber, workContext.Vendors.PageSize); } if (!string.IsNullOrEmpty(workContext.CurrentProductSearchCriteria.Keyword) && workContext.Products != null) { result.Search = ToLiquidSearch(workContext.Products, workContext); } else if (workContext.CurrentStaticSearchCriteria != null && !string.IsNullOrEmpty(workContext.CurrentStaticSearchCriteria.Keyword)) { result.Search = new Search { Performed = true, SearchIn = workContext.CurrentStaticSearchCriteria.SearchIn, Terms = workContext.CurrentStaticSearchCriteria.Keyword }; if (workContext.StaticContentSearchResult != null && workContext.StaticContentSearchResult.Any()) { result.Search.Results = new MutablePagedList <Drop>((pageNumber, pageSize, sortInfos) => { var pagedContentItems = new MutablePagedList <ContentItem>(workContext.StaticContentSearchResult); pagedContentItems.Slice(pageNumber, pageSize, sortInfos); return(new StaticPagedList <Drop>(workContext.StaticContentSearchResult.Select(x => ToLiquidPage(x)), pagedContentItems)); }, 1, workContext.StaticContentSearchResult.PageSize); } } if (workContext.CurrentLinkLists != null) { result.Linklists = new Linklists(workContext.CurrentLinkLists.Select(x => ToLiquidLinklist(x, workContext, urlBuilder))); } if (workContext.Pages != null) { result.Pages = new Pages(workContext.Pages.OfType <ContentPage>().Select(x => ToLiquidPage(x))); result.Blogs = new Blogs(workContext.Blogs.Select(x => ToLiquidBlog(x, workContext.CurrentLanguage))); } if (workContext.CurrentOrder != null) { result.Order = ToLiquidOrder(workContext.CurrentOrder, workContext.CurrentLanguage, urlBuilder); } if (workContext.CurrentQuoteRequest != null) { result.QuoteRequest = ToLiquidQuoteRequest(workContext.CurrentQuoteRequest); } result.PaymentFormHtml = workContext.PaymentFormHtml; if (workContext.CurrentPage != null) { result.Page = ToLiquidPage(workContext.CurrentPage); } if (workContext.CurrentBlog != null) { result.Blog = ToLiquidBlog(workContext.CurrentBlog, workContext.CurrentLanguage); } if (workContext.CurrentBlogSearchCritera != null) { result.BlogSearch = ToLiquidBlogSearch(workContext.CurrentBlogSearchCritera); } if (workContext.CurrentBlogArticle != null) { result.Article = ToLiquidArticle(workContext.CurrentBlogArticle); } if (workContext.ContactUsForm != null) { result.Form = workContext.ContactUsForm.ToShopifyModel(); } if (workContext.Login != null) { result.Form = workContext.Login.ToShopifyModel(); } if (workContext.StorefrontNotification != null) { result.Notification = ToLiquidNotification(workContext.StorefrontNotification); } result.ExternalLoginProviders = workContext.ExternalLoginProviders.Select(p => new LoginProvider { AuthenticationType = p.AuthenticationType, Caption = p.Caption, Properties = p.Properties }).ToList(); result.ApplicationSettings = new MetafieldsCollection("application_settings", workContext.ApplicationSettings); //Powered by link if (workContext.CurrentStore != null) { var storeName = workContext.CurrentStore.Name; var hashCode = (uint)storeName.GetHashCode(); result.PoweredByLink = _poweredLinks[hashCode % _poweredLinks.Length]; } if (workContext.RequestUrl != null) { result.RequestUrl = workContext.RequestUrl.ToString(); //Populate current page number result.CurrentPage = workContext.PageNumber ?? 1; result.PageSize = workContext.PageSize ?? 0; } return(result); }
public static ShopifyThemeWorkContext ToShopifyModel(this storefrontModel.WorkContext workContext, IStorefrontUrlBuilder urlBuilder) { var converter = new ShopifyModelConverter(); return(converter.ToLiquidContext(workContext, urlBuilder)); }
public static ShopifyThemeWorkContext ToShopifyModel(this storefrontModel.WorkContext workContext, IStorefrontUrlBuilder urlBuilder) { var result = new ShopifyThemeWorkContext(); result.CurrentPage = 1; result.CountryOptionTags = string.Join("\r\n", workContext.AllCountries.OrderBy(c => c.Name).Select(c => c.ToOptionTag())); result.PageDescription = workContext.CurrentPageSeo != null ? workContext.CurrentPageSeo.MetaDescription : string.Empty; result.PageTitle = workContext.CurrentPageSeo != null ? workContext.CurrentPageSeo.Title : string.Empty; result.Shop = workContext.CurrentStore.ToShopifyModel(workContext); result.Cart = workContext.CurrentCart.ToShopifyModel(workContext); result.Product = workContext.CurrentProduct != null ? workContext.CurrentProduct.ToShopifyModel(workContext) : null; result.Customer = workContext.CurrentCustomer.HasAccount ? workContext.CurrentCustomer.ToShopifyModel(workContext, urlBuilder) : null; result.AllStores = workContext.AllStores.Select(x => x.ToShopifyModel(workContext)).ToArray(); result.CurrentCurrency = workContext.CurrentCurrency.ToShopifyModel(); result.CurrentLanguage = workContext.CurrentLanguage.ToShopifyModel(); if (workContext.CurrentProduct != null && workContext.CurrentProduct.Category != null) { result.Collection = workContext.CurrentProduct.Category.ToShopifyModel(workContext); } if (workContext.CurrentCatalogSearchCriteria.Terms.Any()) { result.CurrentTags = new TagCollection( workContext.CurrentCatalogSearchCriteria.Terms.Select(t => t.ToShopifyModel()).ToList()); } var searchResult = workContext.CurrentCatalogSearchResult; if (searchResult != null) { result.Collection = searchResult.ToShopifyModel(workContext); if (searchResult.Categories != null) { result.Collections = new Collections(searchResult.Categories.Select(x => x.ToShopifyModel(workContext))); } } if (workContext.CurrentLinkLists != null) { result.Linklists = new Linklists(workContext.CurrentLinkLists.Select(x => x.ToShopifyModel())); } if (workContext.Order != null) { result.Order = workContext.Order.ToShopifyModel(urlBuilder); } result.PaymentFormHtml = workContext.PaymentFormHtml; if(workContext.CurrentPage != null) { result.Page = workContext.CurrentPage.ToShopifyModel(); } if(workContext.CurrentBlog != null) { result.Blog = workContext.CurrentBlog.ToShopifyModel(); } if(workContext.CurrentBlogArticle != null) { result.Article = workContext.CurrentBlogArticle.ToShopifyModel(); } if (workContext.ContactUsForm != null) { result.Form = workContext.ContactUsForm.ToShopifyModel(); } if (workContext.Login != null) { result.Form = workContext.Login.ToShopifyModel(); } return result; }
public CartController(WorkContext workContext, IOrderModuleApi orderApi, IStorefrontUrlBuilder urlBuilder, ICommerceCoreModuleApi commerceApi) : base(workContext, urlBuilder) { _orderApi = orderApi; _commerceApi = commerceApi; }
public PageController(WorkContext context, IStorefrontUrlBuilder urlBuilder, IStaticContentService contentService) : base(context, urlBuilder) { _contentService = contentService; }
public StorefrontControllerBase(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder) { WorkContext = workContextAccessor.WorkContext; UrlBuilder = urlBuilder; }
public static ShopifyThemeWorkContext ToShopifyModel(this storefrontModel.WorkContext workContext, IStorefrontUrlBuilder urlBuilder) { var result = new ShopifyThemeWorkContext(); result.CurrentPage = 1; result.CountryOptionTags = string.Join("\r\n", workContext.AllCountries.OrderBy(c => c.Name).Select(c => c.ToOptionTag())); result.PageDescription = workContext.CurrentPageSeo != null ? workContext.CurrentPageSeo.MetaDescription : string.Empty; result.PageTitle = workContext.CurrentPageSeo != null ? workContext.CurrentPageSeo.Title : string.Empty; result.Shop = workContext.CurrentStore != null ? workContext.CurrentStore.ToShopifyModel(workContext) : null; result.Cart = workContext.CurrentCart != null ? workContext.CurrentCart.ToShopifyModel(workContext) : null; result.Product = workContext.CurrentProduct != null ? workContext.CurrentProduct.ToShopifyModel() : null; result.Customer = workContext.CurrentCustomer != null && workContext.CurrentCustomer.IsRegisteredUser ? workContext.CurrentCustomer.ToShopifyModel(workContext, urlBuilder) : null; result.AllStores = workContext.AllStores.Select(x => x.ToShopifyModel(workContext)).ToArray(); result.CurrentCurrency = workContext.CurrentCurrency != null ? workContext.CurrentCurrency.ToShopifyModel() : null; result.CurrentLanguage = workContext.CurrentLanguage != null ? workContext.CurrentLanguage.ToShopifyModel() : null; if (workContext.CurrentCatalogSearchCriteria != null && workContext.CurrentCatalogSearchCriteria.Terms.Any()) { result.CurrentTags = new TagCollection( workContext.CurrentCatalogSearchCriteria.Terms.Select(t => t.ToShopifyModel()).ToList()); } if(workContext.CurrentCategory != null) { result.Collection = workContext.CurrentCategory.ToShopifyModel(workContext); } if (workContext.Categories != null) { result.Collections = new Collections(new MutablePagedList<Collection>((pageNumber, pageSize) => { workContext.Categories.Slice(pageNumber, pageSize); return new StaticPagedList<Collection>(workContext.Categories.Select(x => x.ToShopifyModel(workContext)), workContext.Categories); })); } if(!string.IsNullOrEmpty(workContext.CurrentCatalogSearchCriteria.Keyword) && workContext.Products != null) { result.Search = workContext.Products.ToShopifyModel(workContext.CurrentCatalogSearchCriteria.Keyword); } if (workContext.CurrentLinkLists != null) { result.Linklists = new Linklists(workContext.CurrentLinkLists.Select(x => x.ToShopifyModel(workContext, urlBuilder))); } if (workContext.Pages != null) { result.Pages = new Pages(workContext.Pages.OfType<ContentPage>().Select(x => x.ToShopifyModel())); result.Blogs = new Blogs(workContext.Blogs.Select(x => x.ToShopifyModel(workContext.CurrentLanguage))); } if (workContext.CurrentOrder != null) { result.Order = workContext.CurrentOrder.ToShopifyModel(urlBuilder); } if (workContext.CurrentQuoteRequest != null) { result.QuoteRequest = workContext.CurrentQuoteRequest.ToShopifyModel(); } result.PaymentFormHtml = workContext.PaymentFormHtml; if (workContext.CurrentPage != null) { result.Page = workContext.CurrentPage.ToShopifyModel(); } if (workContext.CurrentBlog != null) { result.Blog = workContext.CurrentBlog.ToShopifyModel(workContext.CurrentLanguage); } if (workContext.CurrentBlogArticle != null) { result.Article = workContext.CurrentBlogArticle.ToShopifyModel(); } if (workContext.ContactUsForm != null) { result.Form = workContext.ContactUsForm.ToShopifyModel(); } if (workContext.Login != null) { result.Form = workContext.Login.ToShopifyModel(); } if (workContext.StorefrontNotification != null) { result.Notification = workContext.StorefrontNotification.ToShopifyModel(); } result.ExternalLoginProviders = workContext.ExternalLoginProviders.Select(p => new LoginProvider { AuthenticationType = p.AuthenticationType, Caption = p.Caption, Properties = p.Properties }).ToList(); result.ApplicationSettings = new MetafieldsCollection("application_settings", workContext.ApplicationSettings); //Powered by link if (workContext.CurrentStore != null) { var storeName = workContext.CurrentStore.Name; var hashCode = (uint)storeName.GetHashCode(); result.PoweredByLink = _poweredLinks[hashCode % _poweredLinks.Length]; } result.CurrentPage = 1; if (workContext.RequestUrl != null) { result.RequestUrl = workContext.RequestUrl.ToString(); //Populate current page number var qs = HttpUtility.ParseQueryString(workContext.RequestUrl.Query); result.CurrentPage = Convert.ToInt32(qs.Get("page") ?? 1.ToString()); } return result; }
public StaticContentController(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder, IAuthorizationService authorizationService) : base(workContextAccessor, urlBuilder) { _authorizationService = authorizationService; }
public ProductController(WorkContext context, IStorefrontUrlBuilder urlBuilder, ICatalogSearchService catalogSearchService) : base(context, urlBuilder) { _catalogSearchService = catalogSearchService; }
public static ShopifyThemeWorkContext ToShopifyModel(this storefrontModel.WorkContext workContext, IStorefrontUrlBuilder urlBuilder) { var converter = ServiceLocator.Current.GetInstance <ShopifyModelConverter>(); return(converter.ToLiquidContext(workContext, urlBuilder)); }
public ApiBlogController(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder) : base(workContextAccessor, urlBuilder) { }
public ApiUserActionsController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, IProductRecommendationsModuleApiClient productRecommendationsApi) : base(workContext, urlBuilder) { _productRecommendationsApi = productRecommendationsApi; }
public ApiOrderController(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder, IOrderModule orderApi, IStoreModule storeApi) : base(workContextAccessor, urlBuilder) { _orderApi = orderApi; _storeApi = storeApi; }
public ApiPricingController(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder, IPromotionEvaluator promotionEvaluator, IPricingService pricingService) : base(workContextAccessor, urlBuilder) { _pricingService = pricingService; _promotionEvaluator = promotionEvaluator; }