public MySqlDataBasePuller dataBasePull; //potrzebny do pobierania danych z bazy #region constructors public MainWindowFridgeFiller(AbstractFridge fridge, MainWindow mainWindow, OnlineDataBase odb, string commandString) { Fridge = fridge; this.mainWindow = mainWindow; dataBasePull = new MySqlDataBasePuller(odb); //konstruktor inicjalizuje pullera wykorzystując podaną klasę typu OnlineDB dataBasePull.PullIngredientsFromDataBase(commandString, Fridge); //automatycznie przekazuje polecenie }
public MainWindowFridgeFiller(AbstractFridge fridge, MainWindow mainWindow) { Fridge = fridge; this.mainWindow = mainWindow; dataBasePull = new MySqlDataBasePuller(mainWindow.DataBase); //konstruktor inicjalizuje pullera inicjalizując //przy okazji nową bazę danych dataBasePull.PullIngredientsFromDataBase(@"SELECT * FROM FridgeContent", Fridge); //konstruktor zawiera //domyślne polecenie wypełnienia listy składników wszystkimi składnikami obecnymi w bazie }
/// <summary> /// Clears all the visible items on the window and fills it with the recipe list from database. /// </summary> private void RefreshRecipeBook() // metoda odświeżająca widok dla przycisku ShowAllRecipes { Recipebook.Clear(); puller = new MySqlDataBasePuller(window.DataBase); //umożliwia pobieranie informacji o przepisach i składnikach z bazy puller.PullRecipesFromDatabase("SELECT * FROM Recipes", this); // wypełnia listę przepisów dostarczoną przez interfejs lstRecipeBook.Items.Clear(); //usuwa wszystkie przedmioty z listy, żeby się nie dublowały foreach (AbstractRecipe recipe in Recipebook) //wypełnia listView nazwami przepisów { lstRecipeBook.Items.Add(recipe.Name); } }
/// <summary> /// Selects and visualises the recipes which are availible to make from availible fridge ingredients. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOnlyAvailible_Click(object sender, RoutedEventArgs e) //wyświetla na liście przepisów tylko te, //dla których jest wystarczająca ilość składników { Recipebook.Clear(); //robi miejsce na wyselekcjonowane przepisy puller = new MySqlDataBasePuller(window.DataBase); //dostarcza metody potrzebne do pobierania danych puller.PullRecipesFromDatabase("SELECT * FROM Recipes", this); //wybiera które przepisy mają być przejrzane lstRecipeBook.Items.Clear(); foreach (AbstractRecipe recipe in Recipebook) { if (window.Fridge.IsThereEnough(recipe) == true) { lstRecipeBook.Items.Add(recipe.Name); } } }
MySqlDataBasePuller DataPuller; //umożliwia usuwanie z bazy danych wybranych składników public FoodPuller(AbstractFridge fridge, MySqlDataBasePuller dataPuller) { Fridge = fridge; DataPuller = dataPuller; }