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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }