/// ------------------------------------------------------------------------------------ /// <summary> /// Initializes a new instance of the <see cref="ScrSfFileList"/> class based on an /// existing ScrImportSFFiles in the DB. /// </summary> /// <param name="source">A DB-based collection of Standard Format files</param> /// <param name="mappingList">The mapping list to which mappings will be added if any /// new ones are found when scanning the files</param> /// <param name="importDomain">Main (vernacular Scripture), BT or Annotations</param> /// <param name="scanInlineBackslashMarkers"><c>true</c> to look for backslash markers /// in the middle of lines. (Toolbox dictates that fields tagged with backslash markers /// must start on a new line, but Paratext considers all backslashes in the data to be /// SF markers.)</param> /// ------------------------------------------------------------------------------------ public ScrSfFileList(IScrImportSFFiles source, ScrMappingList mappingList, ImportDomain importDomain, bool scanInlineBackslashMarkers) : this(null) { var deleteList = new List <ICmFile>(); // Load the files into an in-memory list foreach (ICmFile file in source.FilesOC) { try { IScrImportFileInfo info = new ScrImportFileInfo(file, mappingList, importDomain, source.WritingSystem, source.NoteTypeRA, scanInlineBackslashMarkers); Add(info); } catch (ScriptureUtilsException e) { var userAction = source.Services.GetInstance <IFdoUI>(); userAction.DisplayMessage(MessageType.Error, string.Format(ScrFdoResources.kstidImportBadFile, e.Message), Strings.ksErrorCaption, e.HelpTopic); deleteList.Add(file); } } // delete all of the files that caused errors foreach (ICmFile deleteItem in deleteList) { source.FilesOC.Remove(deleteItem); } m_modified = false; }
/// ------------------------------------------------------------------------------------ /// <summary> /// Initializes a new instance of the <see cref="ScrSfFileList"/> class based on an /// existing ScrImportSFFiles in the DB. /// </summary> /// <param name="source">A DB-based collection of Standard Format files</param> /// <param name="mappingList">The mapping list to which mappings will be added if any /// new ones are found when scanning the files</param> /// <param name="importDomain">Main (vernacular Scripture), BT or Annotations</param> /// <param name="scanInlineBackslashMarkers"><c>true</c> to look for backslash markers /// in the middle of lines. (Toolbox dictates that fields tagged with backslash markers /// must start on a new line, but Paratext considers all backslashes in the data to be /// SF markers.)</param> /// <param name="helpFile">The path of the application help file.</param> /// ------------------------------------------------------------------------------------ public ScrSfFileList(IScrImportSFFiles source, ScrMappingList mappingList, ImportDomain importDomain, bool scanInlineBackslashMarkers, string helpFile) : this(null) { List <ICmFile> deleteList = new List <ICmFile>(); // Load the files into an in-memory list foreach (ICmFile file in source.FilesOC) { try { IScrImportFileInfo info = new ScrImportFileInfo(file, mappingList, importDomain, source.WritingSystem, source.NoteTypeRA, scanInlineBackslashMarkers); Add(info); } catch (ScriptureUtilsException e) { MessageBoxUtils.Show(string.Format(ScrFdoResources.kstidImportBadFile, e.Message), "", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0, helpFile, HelpNavigator.Topic, e.HelpTopic); deleteList.Add(file); } } // delete all of the files that caused errors foreach (ICmFile deleteItem in deleteList) { source.FilesOC.Remove(deleteItem); } m_modified = false; }
/// ------------------------------------------------------------------------------------ /// <summary> /// Initializes a new instance of the <see cref="ScrSfFileList"/> class based on an /// existing ScrImportSFFiles in the DB. /// </summary> /// <param name="source">A DB-based collection of Standard Format files</param> /// <param name="mappingList">The mapping list to which mappings will be added if any /// new ones are found when scanning the files</param> /// <param name="importDomain">Main (vernacular Scripture), BT or Annotations</param> /// <param name="scanInlineBackslashMarkers"><c>true</c> to look for backslash markers /// in the middle of lines. (Toolbox dictates that fields tagged with backslash markers /// must start on a new line, but Paratext considers all backslashes in the data to be /// SF markers.)</param> /// ------------------------------------------------------------------------------------ public ScrSfFileList(IScrImportSFFiles source, ScrMappingList mappingList, ImportDomain importDomain, bool scanInlineBackslashMarkers) : this(null) { var deleteList = new List<ICmFile>(); // Load the files into an in-memory list foreach (ICmFile file in source.FilesOC) { try { IScrImportFileInfo info = new ScrImportFileInfo(file, mappingList, importDomain, source.WritingSystem, source.NoteTypeRA, scanInlineBackslashMarkers); Add(info); } catch (ScriptureUtilsException e) { var userAction = source.Services.GetInstance<IFdoUI>(); userAction.DisplayMessage(MessageType.Error, string.Format(ScrFdoResources.kstidImportBadFile, e.Message), Strings.ksErrorCaption, e.HelpTopic); deleteList.Add(file); } } // delete all of the files that caused errors foreach (ICmFile deleteItem in deleteList) source.FilesOC.Remove(deleteItem); m_modified = false; }