Beispiel #1
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 project            = _projectsController.CurrentProject ?? _projectsController.SelectedProjects.FirstOrDefault();
            var projectFileService = new ProjectFileService();
            var sdlxliffMerger     = new SdlxliffMerger();
            var segmentBuilder     = new SegmentBuilder();
            var sdlxliffExporter   = new SdlxliffExporter(segmentBuilder);
            var sdlXliffReader     = new SdlxliffReader();


            var projectHelper     = new ProjectService(_projectsController, _studioVersionService);
            var analysisBands     = projectHelper.GetAnalysisBands(_projectsController.CurrentProject ?? _projectsController.SelectedProjects.FirstOrDefault());
            var filterItemService = new FilterItemService(analysisBands);

            _window = new StudioViewsFilesSplitView();
            var model = new StudioViewsFilesSplitViewModel(_window, project, selectedFiles, projectFileService, filterItemService,
                                                           sdlxliffMerger, sdlxliffExporter, sdlXliffReader);

            _window.DataContext = model;
            _window.ShowDialog();

            if (model.DialogResult != DialogResult.OK)
            {
                return;
            }


            OpenMessageWindow(model);
        }
        private static void OpenMessageWindow(StudioViewsFilesSplitViewModel model)
        {
            var messageInfo = new MessageInfo
            {
                Title       = PluginResources.Message_Title_Task_Result,
                Message     = model.Message,
                LogFilePath = model.LogFilePath,
                Folder      = model.ExportPath,
                ShowImage   = true,
                ImageUrl    = model.Success
                                        ? "/Sdl.Community.StudioViews;component/Resources/information.png"
                                        : "/Sdl.Community.StudioViews;component/Resources/warning.png"
            };

            var messageView      = new MessageBoxView();
            var messageViewModel = new MessageBoxViewModel(messageView, messageInfo);

            messageView.DataContext = messageViewModel;

            messageView.ShowDialog();
        }
Beispiel #3
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 commonService    = new ProjectFileService();
            var sdlxliffMerger   = new SdlxliffMerger();
            var segmentBuilder   = new SegmentBuilder();
            var sdlxliffExporter = new SdlxliffExporter(segmentBuilder);
            var sdlXliffReader   = new SdlxliffReader();

            _window = new StudioViewsFilesSplitView();
            var model = new StudioViewsFilesSplitViewModel(_window, selectedFiles, commonService,
                                                           sdlxliffMerger, sdlxliffExporter, sdlXliffReader);

            _window.DataContext = model;
            _window.ShowDialog();

            if (model.DialogResult != DialogResult.OK)
            {
                return;
            }


            OpenMessageWindow(model);
        }