Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
 /// <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);
 }
Ejemplo n.º 3
0
        /// <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;
        }