private Song GetSong() { HolidayManager holidayManager = new HolidayManager(); List <string> toSearch; RandomItemsProductPicker randomItemsProductPicker = new RandomItemsProductPicker(); List <Song> listOfSongs = new List <Song>(); if (holidayManager.IsHoliday(DateTime.Now, out toSearch)) { // search items based on the keywords if it's a holiday var listOfSearchedSongs = randomItemsProductPicker.PickItems( ReadersFactory.GetProductsReader(), ReadersFactory.GetStocksReader(), Filters.GetFilterByKeyWords(toSearch, typeof(Song)), 1); listOfSongs = listOfSearchedSongs.ConvertAll(x => (Song)x); return(listOfSongs[0]); } else { var listOfRandomBooks = randomItemsProductPicker.PickItems( ReadersFactory.GetProductsReader(), ReadersFactory.GetStocksReader(), Filters.GetFilterByType(typeof(Song)), 1); listOfSongs = listOfRandomBooks.ConvertAll(x => (Song)x); return(listOfSongs[0]); } }
private List <Product> GetProducts(List <string> userSearchText) { var filter = Filters.GetFilterByKeyWords(userSearchText, typeof(Product), false); RandomItemsProductPicker randomProductPicker = new RandomItemsProductPicker(); List <Product> pickedProducts = randomProductPicker.PickItems(ReadersFactory.GetProductsReader(), ReadersFactory.GetStocksReader(), filter, Constants.UNLIMITED); return(pickedProducts); }
private List <Product> _itemsToDisplay; // use a private member in order to store the value and use it in other methods too public string OnNavigatedTo(NavigationData data) { StringBuilder menu = new StringBuilder(); RandomItemsProductPicker productPicker = new RandomItemsProductPicker(); _itemsToDisplay = productPicker.PickItems(data.ProductsReader, data.StocksReader, Filters.GetFilterByType(typeof(Product)), 5); int index = 1; foreach (var item in _itemsToDisplay) { menu.AppendLine($"{index}. {item.Name} - {item.Price:C} "); index++; } menu.AppendLine(""); menu.AppendLine("A. Search"); menu.AppendLine("B. Go to the Cart Page\n------------"); return(menu.ToString()); }
public string OnNavigatedTo(NavigationData data) { _navData = data; StringBuilder menu = new StringBuilder(); if (_userInput != null) { RandomItemsProductPicker searchPageProductPicker = new RandomItemsProductPicker(); _itemsToDisplay = searchPageProductPicker.PickItems(data.ProductsReader, data.StocksReader, Filters.GetFilterByKeyWords(_userInput, typeof(Product)), int.MaxValue); int count = 1; foreach (var item in _itemsToDisplay) { if (_navData.StocksReader.GetProductStock(item.Id) == 0) { menu.AppendLine($"{count}. {item.Name} - {item.Price:C} - out of stock!"); } else { menu.AppendLine($"{count}. {item.Name} - {item.Price:C}"); } count++; } } else { menu.AppendLine("Please enter your query!"); } if (_userInput != null) { menu.AppendLine("A. Search again"); } menu.AppendLine("B. Go to the main page"); return(menu.ToString()); }