コード例 #1
0
        public void RemoveFilteredState(string state)
        {
            if (state == null)
            {
                return;
            }

            AvailableStates.Add(state);
            FilteredStates.Remove(state);
            _statesRepository.SetFilteredStates(FilteredStates.ToArray());
        }
コード例 #2
0
        public async Task ReloadStates()
        {
            AvailableStates.Clear();
            FilteredStates.Clear();
            ResetStates.Clear();

            var allStates = await GetAllStates();

            var filteredStates = _statesRepository.GetFilteredStates();
            var resetStates    = _statesRepository.GetResetStates();

            AvailableStates.AddRange(allStates.Except(filteredStates).Except(resetStates));
            FilteredStates.AddRange(filteredStates);
            ResetStates.AddRange(resetStates);
        }
コード例 #3
0
        public void MoveFilteredStateHigher(string state)
        {
            if (state == null)
            {
                return;
            }

            var stateAt = FilteredStates.IndexOf(state);

            if (stateAt == FilteredStates.Count - 1)
            {
                return;
            }

            stateAt++;
            var reinsertState = FilteredStates[stateAt];

            FilteredStates.RemoveAt(stateAt);
            FilteredStates.Insert(stateAt - 1, reinsertState);

            _statesRepository.SetFilteredStates(FilteredStates.ToArray());
        }