public async Task <ObservableCollection <Deal> > GetDeals(string title = "")
        {
            IsBusy = true;
            ObservableCollection <Deal> results = new ObservableCollection <Deal> ();

            try {
                var           filters  = Application.Current.Properties ["StoreFilters"] as Dictionary <int, bool>;
                List <string> storeIds = new List <string> ();
                foreach (var store in filters)
                {
                    if (store.Value)
                    {
                        storeIds.Add(store.Key.ToString());
                    }
                }
                int  lowerPrice = (int)Application.Current.Properties ["lowerPrice"];
                int  upperPrice = (int)Application.Current.Properties ["upperPrice"];
                int  metacritic = (int)Application.Current.Properties ["metacritic"];
                bool tripleA    = (bool)Application.Current.Properties ["aaa"];
                bool steamworks = (bool)Application.Current.Properties ["steamworks"];
                bool onsale     = (bool)Application.Current.Properties ["onSale"];

                var deals = await API.GetDeals(storeID : storeIds, lowerPrice : lowerPrice, upperPrice : upperPrice, title : title, metacritic : metacritic, tripleA : tripleA, steamworks : steamworks, onSale : onsale);

                if (deals != null)
                {
                    results = new ObservableCollection <Deal> (deals);
                }
            } catch (Exception ex) {
                Debug.WriteLine(ex.Message);
            }
            IsBusy = false;
            return(results);
        }