public void LoadProducts(string friendlyUrl) { if (AreProductsLoaded) { return; } if (string.IsNullOrWhiteSpace(friendlyUrl)) { return; } AsyncCallback callback = ar => Deployment.Current.Dispatcher.BeginInvoke( () => { try { Products = Services.ProductManager.EndGetProductsInCategory(ar); } catch (Exception e) { LoadProducts_Catch(e); } }); try { Services.ProductManager.BeginGetProductsInCategory(friendlyUrl, 1, 100, callback, null); AreProductsLoaded = true; } catch (Exception e) { LoadProducts_Catch(e); } }
private void LoadProducts_Catch(Exception e) { AreProductsLoaded = false; if (!_isDebug) { throw e; } else { var sampleData = new SampleData.ProductsInCategorySD().Products; Products = sampleData; } }