public BarcodeInputViewModel(IDialogService dialogService, IFileDialogService fileDialogService, IFileService <List <string> > textFileService) { _dialogService = dialogService; _fileDialogService = fileDialogService; _textFileService = textFileService; Title = "Пользовательские штрихкоды"; barcodeLogic = new BarcodeLogic(); BarcodeCollection = new ObservableCollection <string>(); BarcodeCollection.CollectionChanged += BarcodeCollection_CollectionChanged; AddBarcodeCommand = new DelegateCommand <string>(AddBarcode, CanAddBarcode).ObservesProperty(() => InputFieldText); EditBarcodeCommand = new DelegateCommand(EditBarcode, CanRemoveOrEditBarcode); CancelEditBarcodeCommand = new DelegateCommand(CancelEdit); ConfirmEditBarcodeCommand = new DelegateCommand <string>(ConfirmEdit); RemoveBarcodeCommand = new DelegateCommand(RemoveBarcode, CanRemoveOrEditBarcode); ImportCommand = new DelegateCommand(ImportFromFile, CanImport).ObservesProperty(() => IsEditMode); }
private ObservableCollection <string> OnAfterDialogOpenedAsync(IDialogParameters parameters) { var barcodeType = parameters.GetValue <BarcodeType>("barcodeType"); var barcodesAmount = parameters.GetValue <int>("barcodesAmount"); var recievedCollection = parameters.GetValue <ObservableCollection <string> >("barcodeCollection"); if (recievedCollection == null) { BarcodeLogic barcodeLogic = new BarcodeLogic(); recievedCollection = new ObservableCollection <string>(); for (int i = 0; i < barcodesAmount;) { var randomBarcode = barcodeLogic.GetBarcodeByRegex(barcodeType.HardRegexPattern); if (!recievedCollection.Contains(randomBarcode)) { recievedCollection.Add(randomBarcode); i++; } } } return(recievedCollection); }