protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    // TODO: dispose managed state (managed objects)
                    OriginalList?.Clear();
                    OriginalList = null;

                    DataPage?.Clear();
                    DataPage = null;

                    FilteredList?.Clear();
                    FilteredList = null;

                    ModelValueList?.Clear();
                    ModelValueList = null;

                    SortDictionary?.Clear();
                    SortDictionary = null;

                    FilterDictionary?.Clear();
                    FilterDictionary = null;
                }

                // TODO: free unmanaged resources (unmanaged objects) and override finalizer
                // TODO: set large fields to null
                disposedValue = true;
            }
        }
        private void OnAddFilter()
        {
            var filter = new CryptoRequestParameters
            {
                Property = _currentRequestProperty,
                Type     = CurrentRequestFilterType,
                Value    = CurrentRequestValue
            };

            var filterString = CryptoRequestService.ParseParameter(filter);

            try
            {
                FilterDictionary.Add(filterString, filter);
                FilterStrings.Add(filterString);

                AddCryptoToTrackerCommand.RaiseCanExecuteChanged();
            }

            catch (ArgumentException)
            {
                return;
            }
        }
 private void OnRemoveFilter()
 {
     FilterDictionary.Remove(SelectedFilter);
     FilterStrings.Remove(SelectedFilter);
 }
 public void OnNavigatedTo(NavigationContext navigationContext)
 {
     this.nextView   = (string)navigationContext.Parameters["nextView"];
     this.filterFunc = FilterDictionary.GetFilter((Filter)navigationContext.Parameters["filter"]);
 }