{"action":"created","issue":{"url":"https://api.github.com/repos/atomia/AtomiaStore/issues/1","labels_url":"https://api.github.com/repos/atomia/AtomiaStore/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/atomia/AtomiaStore/issues/1/comments","events_url":"https://api.github.com/repos/atomia/AtomiaStore/issues/1/events","html_url":"https://github.com/atomia/AtomiaStore/issues/1","id":100565563,"number":1,"title":"Empty hosting package list in step 2","user":{"login":"sasa-mladenovic-troxo","id":11176469,"avatar_url":"https://avatars.githubusercontent.com/u/11176469?v=3","gravatar_id":"","url":"https://api.github.com/users/sasa-mladenovic-troxo","html_url":"https://github.com/sasa-mladenovic-troxo","followers_url":"https://api.github.com/users/sasa-mladenovic-troxo/followers","following_url":"https://api.github.com/users/sasa-mladenovic-troxo/following{/other_user}","gists_url":"https://api.github.com/users/sasa-mladenovic-troxo/gists{/gist_id}","starred_url":"https://api.github.com/users/sasa-mladenovic-troxo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sasa-mladenovic-troxo/subscriptions","organizations_url":"https://api.github.com/users/sasa-mladenovic-troxo/orgs","repos_url":"https://api.github.com/users/sasa-mladenovic-troxo/repos","events_url":"https://api.github.com/users/sasa-mladenovic-troxo/events{/privacy}","received_events_url":"https://api.github.com/users/sasa-mladenovic-troxo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-08-12T15:07:49Z","updated_at":"2015-08-18T14:49:41Z","closed_at":null,"body":"HostingPackage route query parameter in [RouteConfig](https://github.com/atomia/AtomiaStore/blob/master/Atomia.Store.Themes.Default/App_Start/RouteConfig.cs#L30) is incorrectly set to \"HostingPackage\" instead of \"Hosting\". This is also a problem in [SetupFeeCartPricingService.ProductCategoriesWithSetupFee](https://github.com/atomia/AtomiaStore/blob/master/Atomia.Store.PublicBillingApi/Adapters/SetupFeeCartPricingProvider.cs#L37).\r\n\r\nThis query string will eventually be set as parameter in \r\n[Atomia.Store.AspNetMvc.Controllers.ProductListingController.GetData()](https://github.com/atomia/AtomiaStore/blob/master/Atomia.Store.AspNetMvc/Controllers/ProductListingController.cs#L57)\r\nwhich will eventually call \r\n[Atomia.Store.PublicBillingApi.ApiProductsProvider.GetProductsByCategories()](https://github.com/atomia/AtomiaStore/blob/master/Atomia.Store.PublicBillingApi/ApiProductsProvider.cs#L42)\r\nWith \"HostingProducts\" in categories function parameter.\r\n\r\nFirst time this function is called, the call is forwarded to:\r\nAtomia.Web.Plugin.ProductsProvider.PublicApiShopProductsProvider.GetProductsFromService().\r\nIn this function an API is called: [AtomiaBillingPublicService.GetShopProducts()](http://documentation.atomia.com/Billing/15.3.5700.13411/api-documentation/html/17c81fde-fd08-6794-b780-618e0c0ee9cd.htm) (this API call is probably better described [here](http://orderapi.dev.atomia.com/AtomiaBillingPublicService.asmx?op=GetShopProducts)) which returns a list of shop products. \r\n\r\nMore acuratelly, it returns a list of Atomia.Web.Plugin.OrderServiceReferences.AtomiaBillingPublicService.PublicItem objects.\r\nProblem here is that PublicItem.Category doesn't hold **shop category** name - but **product category** name.\r\nSo when code in Atomia.Web.Plugin.ProductsProvider.ProductsProviderBase.GetShopProductsByCategories() tries to filter shop products by category \"HostingProducts\" (that we gave as a function parameter) - it doesn't match product category 'Hosting\" and returns empty product list in ApiProductsProvider.GetProductsByCategories().\r\nAnd we end up with empty hosting package product list in step 2.\r\n\r\nI did a workaround here and managed to replace \"HostingPackage\" with \"Hosting\" in my theme RouteConfig.RegisterRoutes() and it fixed my current issue. But I think that is not the right fix for this. \r\n\r\nCorrect me if I'm wrong, but I think the point of using shop products is that you can add different type of products in the same shop category. For instance, I want to have both 'Hosting' product category and 'DNS' product category listed in the second step - so I can have DNS package (product category 'DNS') listed together with Platinum and Gold package (product category 'Hosting'). \r\nWith this code we dont have that now - we can only filter products in the shop by their product category, instead of filtering it by their *shop category*."},"comment":{"url":"https://api.github.com/repos/atomia/AtomiaStore/issues/comments/132237711","html_url":"https://github.com/atomia/AtomiaStore/issues/1#issuecomment-132237711","issue_url":"https://api.github.com/repos/atomia/AtomiaStore/issues/1","id":132237711,"user":{"login":"ivankustera","id":1167428,"avatar_url":"https://avatars.githubusercontent.com/u/1167428?v=3","gravatar_id":"","url":"https://api.github.com/users/ivankustera","html_url":"https://github.com/ivankustera","followers_url":"https://api.github.com/users/ivankustera/followers","following_url":"https://api.github.com/users/ivankustera/following{/other_user}","gists_url":"https://api.github.com/users/ivankustera/gists{/gist_id}","starred_url":"https://api.github.com/users/ivankustera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivankustera/subscriptions","organizations_url":"https://api.github.com/users/ivankustera/orgs","repos_url":"https://api.github.com/users/ivankustera/repos","events_url":"https://api.github.com/users/ivankustera/events{/privacy}","received_events_url":"https://api.github.com/users/ivankustera/received_events","type":"User","site_admin":false},"created_at":"2015-08-18T14:49:41Z","updated_at":"2015-08-18T14:49:41Z","body":"Order API is in Billing API package so the same rule applies. "}}