void ImportProject(ImportProjectEvent e) { ProjectLongoMatch project; ProjectImporter importer; IStorage DB = App.Current.DatabaseManager.ActiveDB; Log.Debug ("Importing project"); /* try to import the project and show a message error is the file * is not a valid project */ try { if (ProjectImporters.Count () == 0) { throw new Exception (Catalog.GetString ("Plugin not found")); } else if (ProjectImporters.Count () == 1) { importer = ProjectImporters.First (); } else { importer = ChooseImporter (ProjectImporters); } if (importer == null) { return; } project = importer.ImportFunction () as ProjectLongoMatch; if (project == null) { return; } if (importer.NeedsEdition) { App.Current.StateController.MoveTo (NewProjectState.NAME, project); } else { /* If the project exists ask if we want to overwrite it */ if (!importer.CanOverwrite && DB.Exists (project)) { var res = App.Current.Dialogs.QuestionMessage (Catalog.GetString ("A project already exists for this ID:") + project.ID + "\n" + Catalog.GetString ("Do you want to overwrite it?"), null).Result; if (!res) return; } DB.Store<ProjectLongoMatch> (project, true); App.Current.EventsBroker.Publish<OpenProjectIDEvent> ( new OpenProjectIDEvent { ProjectID = project.ID, Project = project } ); } } catch (Exception ex) { App.Current.Dialogs.ErrorMessage (Catalog.GetString ("Error importing project:") + "\n" + ex.Message); Log.Exception (ex); return; } }
void ImportProject(ImportProjectEvent e) { LMProject project; ProjectImporter importer; IStorage DB = App.Current.DatabaseManager.ActiveDB; Log.Debug("Importing project"); /* try to import the project and show a message error is the file * is not a valid project */ try { if (ProjectImporters.Count() == 0) { throw new Exception(Catalog.GetString("Plugin not found")); } else if (ProjectImporters.Count() == 1) { importer = ProjectImporters.First(); } else { importer = ChooseImporter(ProjectImporters); } if (importer == null) { return; } project = importer.ImportFunction() as LMProject; if (project == null) { return; } if (importer.NeedsEdition) { App.Current.StateController.MoveTo(NewProjectState.NAME, new LMProjectVM { Model = project }); } else { /* If the project exists ask if we want to overwrite it */ if (!importer.CanOverwrite && DB.Exists(project)) { var res = App.Current.Dialogs.QuestionMessage(Catalog.GetString("A project already exists for this ID:") + project.ID + "\n" + Catalog.GetString("Do you want to overwrite it?"), null).Result; if (!res) { return; } } DB.Store <LMProject> (project, true); App.Current.EventsBroker.Publish <OpenProjectIDEvent> ( new OpenProjectIDEvent { ProjectID = project.ID, Project = project } ); } } catch (Exception ex) { App.Current.Dialogs.ErrorMessage(Catalog.GetString("Error importing project:") + "\n" + ex.Message); Log.Exception(ex); return; } }