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;
            }
        }