using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.Command; using HighWayIot.Config; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Input; namespace Aucma.Scada.UI.viewModel.AssemblyPlan { public class SearchCriteriaViewModel : ViewModelBase { private AppConfig appConfig = AppConfig.Instance; public SearchCriteriaViewModel() { SaveSearchCriteriaCommand = new RelayCommand(SaveSearchCriteria); CloseWindowCommand = new RelayCommand(t => CloseWindow(t)); init(); } private ObservableCollection _configurations = new ObservableCollection(); public ObservableCollection Configurations { get { return _configurations; } set { _configurations = value; RaisePropertyChanged(nameof(Configurations)); } } public RelayCommand SaveSearchCriteriaCommand { get; set; } public RelayCommand CloseWindowCommand { get; set; } private void SaveSearchCriteria() { var info = _configurations.ToList(); string items = string.Empty; foreach (var configuration in info) { items += configuration.ToString() + "%"; } appConfig.searchItems = string.Empty; appConfig.searchItems = items; init(); } private void CloseWindow(object parameter) { var window = parameter as Window; if (window != null) { window.Close(); } } private void init() { Configurations = new ObservableCollection(); var searchItems = appConfig.searchItems; var split = searchItems.Split('%'); foreach (var item in split) { Configurations.Add(item); } } } }