コード例 #1
0
		public void SaveAndLoadMappings_DeleteModify()
		{
			CheckDisposed();

			m_importSettings.ImportTypeEnum = TypeOfImport.Other;

			m_importSettings.SetMapping(MappingSet.Main,
				new ImportMappingInfo(@"\aa", null, false, MappingTargetType.TEStyle, MarkerDomain.Default, ScrStyleNames.NormalParagraph, null));
			m_importSettings.SetMapping(MappingSet.Main,
				new ImportMappingInfo(@"\cc", null, false, MappingTargetType.TEStyle, MarkerDomain.Default, ScrStyleNames.NormalParagraph, null));
			m_importSettings.SetMapping(MappingSet.Main,
				new ImportMappingInfo(@"\ee", null, false, MappingTargetType.TEStyle, MarkerDomain.Default, ScrStyleNames.NormalParagraph, null));
			m_importSettings.SetMapping(MappingSet.Main,
				new ImportMappingInfo(@"\qq", null, false, MappingTargetType.TEStyle, MarkerDomain.Default, ScrStyleNames.NormalParagraph, null));

			m_importSettings.SetMapping(MappingSet.Notes,
				new ImportMappingInfo(@"\aa", null, false, MappingTargetType.TEStyle, MarkerDomain.Note, ScrStyleNames.Remark, null, m_inMemoryCache.m_consultantNoteDefn));
			m_importSettings.SetMapping(MappingSet.Notes,
				new ImportMappingInfo(@"\cc", null, false, MappingTargetType.TEStyle, MarkerDomain.Note, ScrStyleNames.Remark, null, m_inMemoryCache.m_consultantNoteDefn));
			m_importSettings.SetMapping(MappingSet.Notes,
				new ImportMappingInfo(@"\ee", null, false, MappingTargetType.TEStyle, MarkerDomain.Note, ScrStyleNames.Remark, null, m_inMemoryCache.m_consultantNoteDefn));

			// save to the DB, create a new settings object and reload it
			m_importSettings.SaveSettings();
			ScrImportSet newSettingsObj = new ScrImportSet(Cache,
				Cache.LangProject.TranslatedScriptureOA.ImportSettingsOC.HvoArray[0]);

			// Sanity check to verify the settings
			IEnumerable scrMappings = newSettingsObj.Mappings(MappingSet.Main);
			Assert.IsNotNull(scrMappings);
			Assert.AreEqual(4, ((ScrMappingList)scrMappings).Count);

			IEnumerable notesMappings = newSettingsObj.Mappings(MappingSet.Notes);
			Assert.IsNotNull(notesMappings);
			Assert.AreEqual(3, ((ScrMappingList)notesMappings).Count);

			// Replace "cc" in Main and "ee" in Notes
			newSettingsObj.SetMapping(MappingSet.Main,
				new ImportMappingInfo(@"\cc", null, false, MappingTargetType.Figure, MarkerDomain.Default, null, null));
			newSettingsObj.SetMapping(MappingSet.Notes,
				new ImportMappingInfo(@"\ee", null, false, MappingTargetType.TEStyle, MarkerDomain.Note, ScrStyleNames.Remark, null , m_inMemoryCache.m_translatorNoteDefn));

			// Modify existing "ee" in Main and "aa" in Notes
			ImportMappingInfo main_ee = newSettingsObj.MappingForMarker(@"\ee", MappingSet.Main);
			main_ee.StyleName = ScrStyleNames.NormalFootnoteParagraph;
			ImportMappingInfo notes_aa = newSettingsObj.MappingForMarker(@"\aa", MappingSet.Notes);
			notes_aa.StyleName = "Emphasis";

			// Delete "qq" in Main and "cc" in Notes
			ImportMappingInfo main_qq = newSettingsObj.MappingForMarker(@"\qq", MappingSet.Main);
			ImportMappingInfo notes_cc = newSettingsObj.MappingForMarker(@"\cc", MappingSet.Notes);
			newSettingsObj.DeleteMapping(MappingSet.Main, main_qq);
			newSettingsObj.DeleteMapping(MappingSet.Notes, notes_cc);

			// Save the settings, create a new settings object and reload it.
			newSettingsObj.SaveSettings();
			newSettingsObj = new ScrImportSet(Cache,
				Cache.LangProject.TranslatedScriptureOA.ImportSettingsOC.HvoArray[0]);

			// Make sure that all the changes were saved and restored
			ScrMappingList scrMappingList = (ScrMappingList)newSettingsObj.Mappings(MappingSet.Main);
			Assert.IsNotNull(scrMappingList);
			Assert.AreEqual(3, scrMappingList.Count);

			ScrMappingList notesMappingList = (ScrMappingList)newSettingsObj.Mappings(MappingSet.Notes);
			Assert.IsNotNull(notesMappingList);
			Assert.AreEqual(2, notesMappingList.Count);

			ImportMappingInfo mapping = scrMappingList[0];
			Assert.AreEqual(@"\aa", mapping.BeginMarker);
			Assert.AreEqual(MarkerDomain.Default, mapping.Domain);
			Assert.AreEqual(ScrStyleNames.NormalParagraph, mapping.StyleName);

			mapping = scrMappingList[1];
			Assert.AreEqual(@"\cc", mapping.BeginMarker);
			Assert.AreEqual(MarkerDomain.Default, mapping.Domain);
			Assert.AreEqual(MappingTargetType.Figure, mapping.MappingTarget);

			mapping = scrMappingList[2];
			Assert.AreEqual(@"\ee", mapping.BeginMarker);
			Assert.AreEqual(MarkerDomain.Default, mapping.Domain);
			Assert.AreEqual(ScrStyleNames.NormalFootnoteParagraph, mapping.StyleName);

			mapping = notesMappingList[0];
			Assert.AreEqual(@"\aa", mapping.BeginMarker);
			Assert.AreEqual(MarkerDomain.Default, mapping.Domain);
			Assert.AreEqual("Emphasis", mapping.StyleName);

			mapping = notesMappingList[1];
			Assert.AreEqual(@"\ee", mapping.BeginMarker);
			Assert.AreEqual(MarkerDomain.Default, mapping.Domain);
			Assert.AreEqual(m_inMemoryCache.m_translatorNoteDefn.Guid.ToString(), mapping.NoteType.Guid.ToString());
		}