private static void SplitFileInputPatternAndGetFiles(ISaveExpressionMessage saveExpression, string filename, List <List <FileInfo> > fileInfos) { string[] split = saveExpression.Message.Split(','); foreach (string s in split) { fileInfos.Add(new List <FileInfo>(FileHelper.GetFiles(filename, s))); } }
private void buttonSaveExpression_Click(object sender, RoutedEventArgs e) { ISaveExpressionMessage msg = this.SaveExpressionMessageWindowFactory.CreateWindow(); msg.Label = LanguageHelper.GetLocalisedText((Application.Current as IApplication), Constants.ENTER_EXPRESSION_NAME); msg.WindowStartupLocation = WindowStartupLocation.CenterScreen; msg.ShowDialog(); if (msg.DialogResult.HasValue && msg.DialogResult.Value) { ((ObservableCollection <IExpression>) this.comboBoxSavedExpressions.DataContext).Add(CreateExpression(this.textBoxExpression.Text, msg.Message)); } this.SaveExpressions(); }
private void MenuOpenLastWrittenPatterns_Click(object sender, RoutedEventArgs e) { ISaveExpressionMessage msg = this.SaveExpressionMessageWindowFactory.CreateWindow(); msg.Label = LanguageHelper.GetLocalisedText((Application.Current as IApplication), Constants.MULTIPLE_FILE_TEXT_PATTERN); msg.Message = Constants.DEFAULT_MULTIPLE_FILE_OPEN_PATTERN; List <List <FileInfo> > files = FileOpenLogic.OpenFilePattern(msg); files = FileOpenLogic.OpenLastWrittenToFile(files); foreach (List <FileInfo> fileList in files) { if (fileList.Count > 0) { OpenFile(fileList[0].FullName); } } }
/// <summary> /// Opens the Directory open dialog and uses the passed in <paramref name="saveExpression"/> <see cref="ISaveExpressionMessage"/> instance /// to get user input of file pattern. /// If the <see cref="ISaveExpressionMessage"/> Label and Message properties are string.Empty they are defaulted /// </summary> /// <param name="saveExpression">An <see cref="ISaveExpressionMessage"/> instance</param> /// <returns>A <see cref="List<T>"/> of <see cref="List<T>"/> so that multiple patterns can be searched for and opened</returns> public static List<List<FileInfo>> OpenFilePattern(ISaveExpressionMessage saveExpression) { string filename = FileHelper.ShowOpenDirectory(); List<List<FileInfo>> fileInfos = new List<List<FileInfo>>(); if (string.IsNullOrEmpty(saveExpression.Label)) { saveExpression.Label = LanguageHelper.GetLocalisedText((Application.Current as IApplication), Constants.FILE_TEXT_PATTERN); } if (string.IsNullOrEmpty(saveExpression.Message)) { saveExpression.Message = Constants.DEFAULT_FILE_OPEN_PATTERN; } saveExpression.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; if (!string.IsNullOrEmpty(filename) && !string.IsNullOrWhiteSpace(filename)) { bool? result = saveExpression.ShowDialog(); if (result.HasValue && result.Value) { if (saveExpression.Message.Contains(Constants.ALL_FILES_PATTERN)) { if (MessageBoxResult.Yes == MessageBox.Show(LanguageHelper.GetLocalisedText((Application.Current as IApplication), Constants.LOTS_OF_FILES_TEXT), LanguageHelper.GetLocalisedText((Application.Current as IApplication), Constants.QUESTION), MessageBoxButton.YesNo)) { SplitFileInputPatternAndGetFiles(saveExpression, filename, fileInfos); } } else { SplitFileInputPatternAndGetFiles(saveExpression, filename, fileInfos); } } } return fileInfos; }
/// <summary> /// Opens the Directory open dialog and uses the passed in <paramref name="saveExpression"/> <see cref="ISaveExpressionMessage"/> instance /// to get user input of file pattern. /// If the <see cref="ISaveExpressionMessage"/> Label and Message properties are string.Empty they are defaulted /// </summary> /// <param name="saveExpression">An <see cref="ISaveExpressionMessage"/> instance</param> /// <returns>A <see cref="List<T>"/> of <see cref="List<T>"/> so that multiple patterns can be searched for and opened</returns> public static List <List <FileInfo> > OpenFilePattern(ISaveExpressionMessage saveExpression) { string filename = FileHelper.ShowOpenDirectory(); List <List <FileInfo> > fileInfos = new List <List <FileInfo> >(); if (string.IsNullOrEmpty(saveExpression.Label)) { saveExpression.Label = LanguageHelper.GetLocalisedText((Application.Current as IApplication), Constants.FILE_TEXT_PATTERN); } if (string.IsNullOrEmpty(saveExpression.Message)) { saveExpression.Message = Constants.DEFAULT_FILE_OPEN_PATTERN; } saveExpression.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; if (!string.IsNullOrEmpty(filename) && !string.IsNullOrWhiteSpace(filename)) { bool?result = saveExpression.ShowDialog(); if (result.HasValue && result.Value) { if (saveExpression.Message.Contains(Constants.ALL_FILES_PATTERN)) { if (MessageBoxResult.Yes == MessageBox.Show(LanguageHelper.GetLocalisedText((Application.Current as IApplication), Constants.LOTS_OF_FILES_TEXT), LanguageHelper.GetLocalisedText((Application.Current as IApplication), Constants.QUESTION), MessageBoxButton.YesNo)) { SplitFileInputPatternAndGetFiles(saveExpression, filename, fileInfos); } } else { SplitFileInputPatternAndGetFiles(saveExpression, filename, fileInfos); } } } return(fileInfos); }
private static void SplitFileInputPatternAndGetFiles(ISaveExpressionMessage saveExpression, string filename, List<List<FileInfo>> fileInfos) { string[] split = saveExpression.Message.Split(','); foreach (string s in split) { fileInfos.Add(new List<FileInfo>(FileHelper.GetFiles(filename, s))); } }