Пример #1
0
        private void MenuAction_Open(object sender, RoutedEventArgs e)
        {
            if (_openDialog.ShowDialog() == true)
            {
                StockFinderSettings settings = StockFinderSettings.Load(_saveLocation = _openDialog.FileName);
                if (settings != null)
                {
                    HideAllFilters();
                    ClearGridColumns();
                    foreach (UIElement element in CustomVariables.Children.Cast <UIElement>().ToList())
                    {
                        VariableListitem listitem = element as VariableListitem;
                        listitem?.Remove();
                    }
                    StockInfo.PropertyDefinitions.Clear();


                    foreach (CustomStockProperty property in settings.CustomProperties)
                    {
                        VariableListitem listitem = new VariableListitem(property.Variable, property.Formula, property.Label, property.AllowFiltering);
                        CustomVariables.Children.Add(listitem);
                    }
                    foreach (FilterState filter in settings.Filters)
                    {
                        FilterCriteria criteria = AddFilter(filter.Variable, true);
                        criteria.IsUsed = filter.IsUsed;
                        criteria.Min    = filter.Min;
                        criteria.Max    = filter.Max;
                    }
                    foreach (GridColumnState column in settings.Columns.OrderBy(col => col.Id))
                    {
                        AddGridColumn(column.Variable);
                    }
                    ClearAllScanners();
                    foreach (ScannerSettings scanner in settings.Scanners)
                    {
                        AddScanner(scanner);
                    }
                }
            }
        }
Пример #2
0
        private void SaveFile(string location)
        {
            List <FilterState> filterStates = GetCriteria().Select(criteria => new FilterState
            {
                Variable = criteria.Variable,
                Min      = criteria.Min,
                Max      = criteria.Max,
                IsUsed   = criteria.IsUsed
            }).ToList();

            List <GridColumnState> columnStates = grid.Columns.Cast <GridColumnWithVariable>().Select(col => new GridColumnState {
                Id = col.DisplayIndex, Variable = col.Variable
            }).ToList();

            StockFinderSettings settings = new StockFinderSettings
            {
                CustomProperties = StockInfo.PropertyDefinitions.Values.ToList(),
                Filters          = filterStates,
                Columns          = columnStates,
                Scanners         = ScannerManager.Scanners
            };

            settings.Save(_saveLocation = location);
        }