private void ExportProject() { if (_project != null) { if (_currentFile != null) { if (_currentFile.NeedSaving) { var result = MessageBox.Show( "Es necesario guardar los cambios antes de continuar.\n¿Quieres guardarlos?", "Guardar cambios", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.No) { return; } if (result == DialogResult.Yes) { _currentFile.SaveChanges(); } } } var form = new ExportProjectForm(dockTheme, _project.FileContainers); var formResult = form.ShowDialog(this); if (formResult == DialogResult.Cancel) { return; } var selectedContainers = form.SelectedContainers; var options = form.Options; var workForm = new WorkingForm(dockTheme, "Exportar traducción"); workForm.DoWork += (sender, args) => { var worker = sender as BackgroundWorker; try { _project.Export(selectedContainers, options, worker); worker.ReportProgress(-1, "FINALIZADO"); worker.ReportProgress(-1, string.Empty); worker.ReportProgress(-1, $"Los ficheros exportados están en {_project.ExportFolder}"); } catch (UserCancelException e) { args.Cancel = true; } #if !DEBUG catch (Exception e) { worker.ReportProgress(0, $"ERROR: {e.Message}"); } #endif }; workForm.ShowDialog(this); } }
private void SaveChanges() { _currentFile?.SaveChanges(); }