Exemplo n.º 1
0
        private void RepositioningPreference(int step, int max, ObservableCollection <NamePart> namePartList)
        {
            //if (CurrentSelectedFavoriteItems.Count == 0 || CurrentSelectedFavoriteItems.Count > 1)
            //    return;

            if (FavoriteSelectedIndex == -1)
            {
                return;
            }

            var current = CurrentSelectedFavoriteItems.First();

            if ((step > 0) && (current == null || current.Position >= max))
            {
                return;
            }
            if ((step < 0) && (current == null || current.Position < max))
            {
                return;
            }


            var currentPos = current.Position;
            var nextPos    = currentPos + step;

            var prevNamePart = namePartList.FirstOrDefault(l => l.Position == nextPos);

            if (prevNamePart == null)
            {
                return;
            }

            prevNamePart.Position = currentPos;
            current.Position      = nextPos;


            InitNamePartList(namePartList, namePartList.OrderBy(l => l.Position).ToList());

            FavoriteSelectedIndex = nextPos - 1;
        }
Exemplo n.º 2
0
        public void GridSelectionChanged(DataGrid sender, BehaviourType type)
        {
            if (sender.SelectedItems == null)
            {
                return;
            }

            List <NamePart> list;

            switch (type)
            {
            case BehaviourType.Favorite:
                if (FavoriteSelectedIndex == -1)
                {
                    return;
                }
                list = CurrentSelectedFavoriteItems;
                break;

            case BehaviourType.DontCare:
                if (DontCareSelectedIndex == -1)
                {
                    return;
                }
                list = CurrentSelectedDontCareItems;
                break;

            case BehaviourType.MustHave:
                if (MustHavesSelectedIndex == -1)
                {
                    return;
                }
                list = CurrentSelectedMustHaveItems;
                break;

            case BehaviourType.NeverUse:
                if (NeverUseSelectedIndex == -1)
                {
                    return;
                }
                list = CurrentSelectedNeverUseItems;
                break;

            default:
                return;
            }

            if (type != BehaviourType.DontCare)
            {
                CurrentSelectedDontCareItems.Clear();
                DontCareSelectedIndex = -1;
            }
            if (type != BehaviourType.Favorite)
            {
                CurrentSelectedFavoriteItems.Clear();
                FavoriteSelectedIndex = -1;
            }
            if (type != BehaviourType.MustHave)
            {
                CurrentSelectedMustHaveItems.Clear();
                MustHavesSelectedIndex = -1;
            }
            if (type != BehaviourType.NeverUse)
            {
                CurrentSelectedNeverUseItems.Clear();
                NeverUseSelectedIndex = -1;
            }

            //var list = (sender.Name == "PreferencesExcludedGrid") ? CurrentSelectedDontCareItems : CurrentSelectedFavoriteItems;

            list.Clear();
            foreach (var senderSelectedItem in sender.SelectedItems)
            {
                if (sender.SelectedItem is NamePart)
                {
                    list.Add((NamePart)senderSelectedItem);
                }
            }
        }