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);
        }