Exemplo n.º 1
0
        static string GetCRSFromXMLMetadata(metadataAsset item, int maxDescription = 4096)
        {
            //Do checks
            string CRSTEMPLATE = "[Course]\r\n";

            CRSTEMPLATE += "Course_Creator=SkillSoft\r\n";
            CRSTEMPLATE += "Course_System=SkillSoft Development\r\n";
            CRSTEMPLATE += "Course_Title={0}\r\n";
            CRSTEMPLATE += "Course_ID={1}\r\n";
            CRSTEMPLATE += "Level=1\r\n";
            CRSTEMPLATE += "Max_Fields_CST=2\r\n";
            CRSTEMPLATE += "Total_AUs=1\r\n";
            CRSTEMPLATE += "Total_Blocks=0\r\n";
            CRSTEMPLATE += "Version=2.2\r\n";
            CRSTEMPLATE += "[Course_Behavior]\r\n";
            CRSTEMPLATE += "Max_Normal=99\r\n";
            CRSTEMPLATE += "[Course_Description]\r\n";
            CRSTEMPLATE += "{2}\r\n";

            //{0} =title
            //{1} = id
            //{2} = description



            string result = String.Format(CRSTEMPLATE, item.title.Length > 255 ? item.title.Substring(0, 255) : item.title, item.identifier, item.description.Length > maxDescription ? item.description.Substring(0, maxDescription) : item.description);

            return(result);
        }
Exemplo n.º 2
0
        static string GetAUFromXMLMetadata(metadataAsset item, string defaultMasteryValue = "80")
        {
            //Do checks
            //Check for AICC URL
            var launchUrl = item.launchurl.Where(i => i.launchtype == "aicc").FirstOrDefault();

            if (launchUrl == null)
            {
                throw new ArgumentNullException("AICC launchUrl missing for asset");
            }

            //Check for mastery
            var mastery = item.extendedfieldValues.Where(i => i.id == "masteryscore").FirstOrDefault();

            if (mastery == null || String.IsNullOrEmpty(mastery.value))
            {
                mastery = new metadataAssetFieldValue()
                {
                    id = "masteryscore", value = defaultMasteryValue
                };
            }

            string AUTEMPLATE = "\"system_id\",\"type\",\"command_line\",\"Max_Time_Allowed\",\"time_limit_action\",\"file_name\",\"max_score\",\"mastery_score\",\"system_vendor\",\"core_vendor\",\"Web_Launch\",\"au_Password\"";

            AUTEMPLATE += "\r\n\"A0\",\"Course\",\"\",\"\",\"\",\"{0}\",\"\",\"{1}\",\"Skillsoft\",\"\",\"\",\"\"";
            //{0} = file_name
            //{1} = mastery
            string result = String.Format(AUTEMPLATE, WebUtility.UrlDecode(launchUrl.Value), mastery.value);

            return(result);
        }
Exemplo n.º 3
0
        static string GetORTFromXMLMetadata(metadataAsset item)
        {
            //Do checks
            string ORTTEMPLATE = "\"Course_Element\"\r\n";

            ORTTEMPLATE += "\"A0\"\r\n";
            return(ORTTEMPLATE);
        }
Exemplo n.º 4
0
        static string GetCSTFromXMLMetadata(metadataAsset item)
        {
            //Do checks
            string CSTTEMPLATE = "\"block\",\"member\"\r\n";

            CSTTEMPLATE += "\"root\",\"A0\"\r\n";
            return(CSTTEMPLATE);
        }
Exemplo n.º 5
0
        static string GetDESFromXMLMetadata(metadataAsset item, int maxDescription = 4096)
        {
            //Do checks
            string DESTEMPLATE = "\"system_id\",\"developer_id\",\"title\",\"description\"\r\n";

            DESTEMPLATE += "\"A0\",\"{0}\",\"{1}\",\"{2}\"\r\n";

            //{0} =id
            //{1} =title
            //{2} =description
            string result = String.Format(DESTEMPLATE, item.identifier, item.title.Length > 255 ? item.title.Substring(0, 255) : item.title, item.description.Length > maxDescription ? item.description.Substring(0, maxDescription) : item.description);

            return(result);
        }
Exemplo n.º 6
0
        static CombinedAssetObject GetCombinedObjectFromXMLMetadata(string assetid, string status, metadataAsset item)
        {
            CombinedAssetObject results = new CombinedAssetObject();

            results.ASSETID = assetid;
            results.STATUS  = status;

            //If status NOT not_entitled then extract the extra data
            if (!status.Equals("not_entitled", StringComparison.InvariantCultureIgnoreCase))
            {
                results.AU  = GetAUFromXMLMetadata(item);
                results.CRS = GetCRSFromXMLMetadata(item);
                results.CST = GetCSTFromXMLMetadata(item);
                results.DES = GetDESFromXMLMetadata(item);
                results.ORT = GetORTFromXMLMetadata(item);


                results.LANGUAGE    = item.language;
                results.DESCRIPTION = item.description;
                results.DURATION    = item.duration;
            }
            return(results);
        }