Exemple #1
0
        private void _miEditDrop_Click(object sender, RoutedEventArgs e)
        {
            if (_lv.SelectedItems.Count <= 0 || _tab.List.SelectedItem == null)
            {
                return;
            }

            try {
                Table <int, ReadableTuple <int> > query = _tab.ProjectDatabase.GetMetaTable <int>(ServerDbs.Pet);

                SelectFromDialog select = new SelectFromDialog(query, ServerDbs.Pet, "");
                select.Owner = WpfUtilities.TopWindow;

                if (select.ShowDialog() == true && select.Tuple != null)
                {
                    if (_lv.SelectedItems.Count <= 0 || _tab.List.SelectedItem == null)
                    {
                        return;
                    }

                    TValue item   = (TValue)_tab.List.SelectedItem;
                    var    btable = _tab.Table;

                    _evolution = new Evolution();

                    //if (_lv.Items.OfType<PetEvolutionView>().Any(p => p.ID == select.Id)) {
                    //	ErrorHandler.HandleException("An evolution with this ID already exists.");
                    //	return;
                    //}

                    try {
                        btable.Commands.Begin();

                        foreach (var targetEv in _lv.Items.OfType <PetEvolutionView>())
                        {
                            if (targetEv == _lv.SelectedItem)
                            {
                                targetEv.EvolutionTarget.Target = select.Id;
                            }

                            _evolution.Targets.Add(targetEv.EvolutionTarget);
                        }

                        btable.Commands.Set(item, ServerPetAttributes.Evolution, _evolution.ToString());
                    }
                    finally {
                        btable.Commands.EndEdit();
                    }

                    _update(item);

                    _lv.SelectedItem = _lv.Items.OfType <PetEvolutionView>().FirstOrDefault(p => p.ID == select.Id) ?? _lv.SelectedItem;
                }
            }
            catch (Exception err) {
                ErrorHandler.HandleException(err);
            }
        }
        private void _selectFromList_Click(object sender, RoutedEventArgs e)
        {
            try {
                Table <int, ReadableTuple <int> > btable = _tab.GenericDatabase.GetMetaTable <int>((ServerDbs)_attribute.AttachedObject);

                SelectFromDialog select = new SelectFromDialog(btable, (ServerDbs)_attribute.AttachedObject, _textBox.Text);
                select.Owner = WpfUtilities.TopWindow;

                if (select.ShowDialog() == true)
                {
                    _textBox.Text = select.Id;
                }
            }
            catch (Exception err) {
                ErrorHandler.HandleException(err);
            }
        }