Esempio n. 1
0
        private void InitializeCriterias()
        {
            var members = new ObservableCollection <SortCriterionDescriptior>();

            List <Entity> entities = new List <Entity>();

            foreach (var item in _tournament.Walllist.SortCriterion)
            {
                entities.Add(item.Id);
            }

            foreach (var item in _tournament.EntitiesCriteria)
            {
                if (!entities.Contains(item))
                {
                    entities.Add(item);
                }
            }

            foreach (Entity it in entities)
            {
                if (members.FirstOrDefault(val => val != null && val.Id == it) == null)
                {
                    var member = new SortCriterionDescriptior()
                    {
                        Id = it
                    };
                    member.Enabled = true;
                    if (_tournament.Walllist.SortCriterion.Find(item => item.Id == member.Id) != null)
                    {
                        member.Active = true;
                    }
                    if (_tournament.EntitiesHidden.Contains(it))
                    {
                        continue;
                    }

                    members.Add(member);
                }
            }

            this.lvSortCriterion.ItemsSource = members;

            // This is all that you need to do, in order to use the ListViewDragManager.
            this.dragMgr2 = new ListViewDragDropManager <SortCriterionDescriptior>(this.lvSortCriterion);

            // Turn the ListViewDragManager on and off.
            this.dragMgr2.ListView = this.lvSortCriterion;

            // Show and hide the drag adorner.
            this.dragMgr2.ShowDragAdorner = true;

            // Hook up events on both ListViews to that we can drag-drop
            // items between them.
            this.lvSortCriterion.DragEnter += OnListViewDragEnter;
            this.lvSortCriterion.Drop      += OnListViewDrop;
        }
Esempio n. 2
0
        private void Apply()
        {
            _tournament.IsCreated = _isCreated;

            _tournament.Walllist.SortCriterion.Clear();
            foreach (var item in lvSortCriterion.Items)
            {
                var descr = item as SortCriterionDescriptior;
                if (descr.Active)
                {
                    var soDscr = new SortCriterionDescriptior()
                    {
                        Id = descr.Id
                    };
                    _tournament.Walllist.SortCriterion.Add(soDscr);
                }
            }

            _tournament.Walllist.Columns.Clear();
            foreach (var item in lvWallList.Items)
            {
                var descr = item as WallListMemberDescriptior;
                if (descr.Active)
                {
                    var member = new WallListMemberDescriptior()
                    {
                        Id = descr.Id
                    };
                    _tournament.Walllist.Columns.Add(member);
                }
            }

            if (OnResult != null)
            {
                OnResult(ReturnResult.Ok, _tournament);
            }
        }