Example #1
0
        private void CreateNonexistantKeywordlistItem(AssessmentItem assessmentItem, ZipArchive testPackageArchive)
        {
            ZipArchiveEntry entry    = testPackageArchive.CreateEntry(assessmentItem.KeywordListFullPath);
            XDocument       document = new XDocument(CreateEmptyKeywordlistXml(assessmentItem));

            itemsModifier.SaveItem(document, entry);
        }
Example #2
0
        private void CreateMetaData(AssessmentItem assessmentItem, ZipArchive testPackageArchive)
        {
            ZipArchiveEntry entry    = testPackageArchive.CreateEntry(assessmentItem.KeywordListMetadataFullPath);
            XDocument       document = new XDocument(CreateEmptyMetaData(assessmentItem.KeywordListItemId, assessmentItem.ItemId));

            itemsModifier.SaveItem(document, entry);
        }
Example #3
0
 private XElement CreateNewWordlistResource(AssessmentItem assessmentItem, IEnumerable <XElement> resourcesList)
 {
     return(new XElement("resource",
                         new XAttribute("type", "wordList"),
                         new XAttribute("id", assessmentItem.KeywordListItemId),
                         new XAttribute("index", resourcesList.Count() + 1),
                         new XAttribute("bankkey", assessmentItem.Bankkey)));
 }
Example #4
0
 private void AddNewKeywordsToAssessmentItemContent(AssessmentItem assessmentItem)
 {
     foreach (Illustration i in assessmentItem.Illustrations)
     {
         if (i.KeywordAdded)
         {
             AddKeywordToContent(assessmentItem, i);
         }
     }
 }
Example #5
0
 private void AddNonexistingKeywordlist(KeywordListItem keywordListItem, AssessmentItem assessmentItem, XElement assessmentItemResource, IList <XElement> resources)
 {
     if (!resources.Any(x => x.GetAttribute("identifier") == keywordListItem.Identifier))
     {
         assessmentItemResource.Parent.Add(GetKeywordlistItemResource(keywordListItem));
     }
     if (!resources.Any(x => x.GetAttribute("identifier") == keywordListItem.MetadataIdentifier))
     {
         assessmentItemResource.Parent.Add(GetKeywordlistItemMetadataResource(keywordListItem, assessmentItem.KeywordListMetadataFullPath));
     }
 }
Example #6
0
        private void AddKeywordToContent(AssessmentItem assessmentItem, Illustration i)
        {
            IEnumerable <XElement> contents = assessmentItem.Document.OptionalElement("itemrelease")
                                              .OptionalElement("item").Elements("content");

            foreach (XElement content in contents)
            {
                XElement stem = content.ElementOrException("stem");
                stem.ReplaceNodes(new XRaw(AddKeywordToStem(stem, i, assessmentItem)));
            }
        }
Example #7
0
 private XDocument CreateEmptyKeywordlistXml(AssessmentItem assessmentItem)
 {
     return(new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
                          new XElement("itemrelease",
                                       new XAttribute("version", "2.0"),
                                       new XElement("item",
                                                    new XAttribute("type", "wordList"),
                                                    new XAttribute("id", assessmentItem.KeywordListItemId),
                                                    new XAttribute("version", assessmentItem.ItemVersion),
                                                    new XAttribute("bankkey", assessmentItem.Bankkey),
                                                    new XElement("keywordList", string.Empty)))));
 }
Example #8
0
        private void AddKeywordListItems(KeywordListItem keywordListItem, AssessmentItem assessmentItem, IList <XElement> resources)
        {
            XElement assessmentItemResource = resources.FirstOrDefault(x =>
                                                                       x.GetAttribute("identifier") == assessmentItem.Identifier);

            AddNonexistingKeywordlist(keywordListItem, assessmentItem, assessmentItemResource, resources);
            AddNonexistingKeywordlistToAssessmentItem(keywordListItem, assessmentItem, assessmentItemResource, resources);

            foreach (Illustration illustration in assessmentItem.Illustrations)
            {
                ClearElements(resources, illustration, assessmentItemResource);
                assessmentItemResource.AddAfterSelf(GetManifestResourceElement(illustration));
                assessmentItemResource.Add(GetManifestDependencyElement(illustration));
            }
        }
Example #9
0
        private string AddKeywordToStem(XElement stemElt, Illustration illustration, AssessmentItem assessmentItem)
        {
            string stem = stemElt.FirstNode.ToString();
            IEnumerable <string> matches = Regex.Matches(stem, illustration.Term, RegexOptions.IgnoreCase)
                                           .Cast <Match>()
                                           .Select(x => x.Value);
            string tagNumber = GetNextTagNumber(stem);

            foreach (string s in matches)
            {
                stem = stem.Replace(s, GetSpan(s, illustration, assessmentItem, tagNumber));
            }

            return(stem);
        }
Example #10
0
        private void AddNonexistingKeywordlistToAssessmentItem(KeywordListItem keywordListItem, AssessmentItem assessmentItem, XElement assessmentItemResource, IList <XElement> resources)
        {
            IEnumerable <XElement> dependencies = assessmentItemResource.Descendants("dependency");

            if (!dependencies.Any(x => x.GetAttribute("identifierref") == keywordListItem.Identifier))
            {
                assessmentItemResource.Add(GetKeywordlistItemDepency(keywordListItem));
            }
        }
Example #11
0
 private string GetSpan(string termWithCase, Illustration illustration, AssessmentItem assessmentItem, string tagNumber)
 {
     return(string.Format(Properties.Resources.SpanString, assessmentItem.ItemId, tagNumber, illustration.Index, termWithCase));
 }