/// <summary> /// Foods to panel. /// </summary> /// <param name="food">The food.</param> private void FoodToPanel(Food food) { _food = food; _titleTextBox.Text = food.Title; _amountTextBox.Text = food.Amount.Value.ToString(); for (int i = 0; i < _amountUnitComboBox.Items.Count; i++) { KeyValuePair<string, AmountUnit> item = (KeyValuePair<string, AmountUnit>)_amountUnitComboBox.Items[i]; if (item.Value == food.Amount.Unit) { _amountUnitComboBox.SelectedIndex = i; break; } } _priceTextBox.Text = food.Price.ToString(); _allergensListBox.SelectedItems.Clear(); for (int i = 0; i < _allergensListBox.Items.Count; i++) { KeyValuePair<string, Allergen> item = (KeyValuePair<string, Allergen>)_allergensListBox.Items[i]; if ((food.Allergens & item.Value) != 0) { _allergensListBox.SelectedItems.Add(item); } } _boardGroupComboBox.SelectKVP<string, Tuple<string, string>>(t => (t.Item1 == food.BoardAssignment.BoardTemplateName) && (t.Item2 == food.BoardAssignment.Group)); UpdateShowHideButton(food.Visible); }
/// <summary> /// Clears the panel. /// </summary> public void ClearPanel() { _food = null; _titleTextBox.Clear(); _boardGroupComboBox.SelectedIndex = 0; _amountTextBox.Text = "0"; _amountUnitComboBox.SelectedIndex = 0; _priceTextBox.Text = "0"; _allergensListBox.SelectedItems.Clear(); UpdateShowHideButton(false); }
/// <summary> /// Saves this instance. /// </summary> /// <returns></returns> public bool Save(bool defaultVisible = false) { if (!_mainForm.ValidateChildren()) return false; if (_food == null) { _food = new Food(); _food.Visible = defaultVisible; } else { if (_food.Title != _titleTextBox.Text) { // Title (the key) has been changed, so we need to delete old record _foodProcessor.DeleteFood(_food.Title); } } _food.Title = _titleTextBox.Text; _food.Amount = new Amount() { Value = Convert.ToDecimal(_amountTextBox.Text), Unit = ((KeyValuePair<string, AmountUnit>)_amountUnitComboBox.SelectedItem).Value }; _food.Price = Convert.ToDecimal(_priceTextBox.Text); _food.Allergens = 0; foreach (KeyValuePair<string, Allergen> item in _allergensListBox.SelectedItems) { _food.Allergens |= item.Value; } Tuple<string, string> selectedBoardGroup = _boardGroupComboBox.SelectedValueKVP<string, Tuple<string, string>>(); _food.BoardAssignment = new BoardAssignment(); _food.BoardAssignment.BoardTemplateName = selectedBoardGroup.Item1; _food.BoardAssignment.Group = selectedBoardGroup.Item2; // Save food _foodProcessor.Save(_food); _boardProcessor.RefreshAllBoards(); // Reload controls _mainForm.ReloadTree(); return true; }