private void Run(IReadOnlyCollection <SystemFileInfo> importFiles, Language language) { var projectHelper = new ProjectService(_projectsController, _studioVersionService); var analysisBands = projectHelper.GetAnalysisBands(_projectsController.CurrentProject ?? _projectsController.SelectedProjects.FirstOrDefault()); var filterItemService = new FilterItemService(analysisBands); var commonService = new ProjectFileService(); var segmentVisitor = new SegmentVisitor(); var segmentBuilder = new SegmentBuilder(); var paragraphUnitProvider = new ParagraphUnitProvider(segmentVisitor, filterItemService, segmentBuilder); var sdlxliffImporter = new SdlxliffImporter(commonService, filterItemService, paragraphUnitProvider, segmentBuilder); var sdlXliffReader = new SdlxliffReader(); _window = new StudioViewsFilesImportView(); var model = new StudioViewsFilesImportViewModel(_window, _filesController, language, commonService, filterItemService, sdlxliffImporter, sdlXliffReader); _window.DataContext = model; if (importFiles != null) { model.AddFiles(importFiles); } _window.ShowDialog(); if (model.DialogResult != DialogResult.OK) { return; } OpenMessageWindow(model); }
public StudioViewsFilesImportViewModel(Window window, List <ProjectFile> selectedProjectFiles, ProjectFileService projectFileService, FilterItemService filterItemService, SdlxliffImporter sdlxliffImporter, SdlxliffReader sdlxliffReader) { _window = window; _filterItemService = filterItemService; _selectedProjectFiles = selectedProjectFiles; _sdlxliffImporter = sdlxliffImporter; _sdlxliffReader = sdlxliffReader; _projectFileService = projectFileService; WindowTitle = PluginResources.WindowTitle_Import; DialogResult = DialogResult.None; Reset(null); }
public StudioViewsFilesImportViewModel(Window window, FilesController filesController, Language language, ProjectFileService projectFileService, FilterItemService filterItemService, SdlxliffImporter sdlxliffImporter, SdlxliffReader sdlxliffReader) { _window = window; _filterItemService = filterItemService; _filesController = filesController; _language = language; _sdlxliffImporter = sdlxliffImporter; _sdlxliffReader = sdlxliffReader; _projectFileService = projectFileService; WindowTitle = PluginResources.WindowTitle_Import; DialogResult = DialogResult.None; Reset(null); }
protected override void Execute() { var selectedFiles = _filesController.SelectedFiles.Where(projectFile => projectFile.Role == FileRole.Translatable).ToList(); if (selectedFiles.Count == 0) { MessageBox.Show(PluginResources.Message_No_files_selected, PluginResources.Plugin_Name, MessageBoxButton.OK, MessageBoxImage.Warning); return; } var missingFiles = selectedFiles.Any(file => file.LocalFileState == LocalFileState.Missing); if (missingFiles) { MessageBox.Show(PluginResources.Message_Missing_Project_Files_Download_From_Server, PluginResources.Plugin_Name, MessageBoxButton.OK, MessageBoxImage.Warning); return; } var projectHelper = new ProjectService(_projectsController); var analysisBands = projectHelper.GetAnalysisBands(_projectsController.CurrentProject ?? _projectsController.SelectedProjects.FirstOrDefault()); var filterItemHelper = new FilterItemService(); var commonService = new ProjectFileService(); var sdlxliffImporter = new SdlxliffImporter(commonService, filterItemHelper, analysisBands); var sdlXliffReader = new SdlxliffReader(); _window = new StudioViewsFilesImportView(); var model = new StudioViewsFilesImportViewModel(_window, selectedFiles, commonService, filterItemHelper, sdlxliffImporter, sdlXliffReader); _window.DataContext = model; _window.ShowDialog(); if (model.DialogResult != DialogResult.OK) { return; } OpenMessageWindow(model); }