string GetValuesHtml(SystemScienceRecordType scienceRecordType)
        {
            if (ScienceRecord.ScienceRecordType.NumOfValues == 1)
            {
                var microdataAttr = GetMicrodataAttrForValue(scienceRecordType, 1);
                return($"<span{microdataAttr} class=\"values\">{FormatValue (ScienceRecord.Value1)}</span>");
            }

            if (ScienceRecord.ScienceRecordType.NumOfValues == 2)
            {
                var microdataAttr1 = GetMicrodataAttrForValue(scienceRecordType, 1);
                var value1         = FormatValue(ScienceRecord.Value1);
                var value2         = FormatValue(ScienceRecord.Value2);

                // TODO: Add parameter?
                // special case for articles which have single microdata attribute for two values
                if (scienceRecordType == SystemScienceRecordType.Articles)
                {
                    return($"<span{microdataAttr1} class=\"values\">{value1}&nbsp;/&nbsp;{value2}</span>");
                }

                var microdataAttr2 = GetMicrodataAttrForValue(scienceRecordType, 2);
                return($"<span class=\"values\"><span{microdataAttr1}>{value1}</span>&nbsp;/&nbsp;<span{microdataAttr2}>{value2}</span></span>");
            }

            return(string.Empty);
        }
        public IHtmlString GetHtml(SystemScienceRecordType scienceRecordType)
        {
            var valuesHtml      = GetValuesHtml(scienceRecordType);
            var descriptionHtml = GetDesciptionHtml(scienceRecordType);

            return(new HtmlString($"{valuesHtml}{descriptionHtml}"));
        }
        string GetMicrodataAttrForDescription(SystemScienceRecordType scienceRecordType)
        {
            switch (scienceRecordType)
            {
            case SystemScienceRecordType.Directions: return(ItemProp("perechenNir"));

            case SystemScienceRecordType.Base: return(ItemProp("baseNir"));
            }

            return(string.Empty);
        }
Esempio n. 4
0
        public IHtmlString GetScienceRecordHtml(SystemScienceRecordType systemScienceRecordType)
        {
            var scienceRecord = GetScienceRecordByType(systemScienceRecordType);

            if (scienceRecord != null)
            {
                return(scienceRecord.GetHtml(systemScienceRecordType));
            }

            // TODO: Return default markup if science record don't exists?
            return(new HtmlString(string.Empty));
        }
        string GetDesciptionHtml(SystemScienceRecordType scienceRecordType)
        {
            var microdataAttr = GetMicrodataAttrForDescription(scienceRecordType);

            if (!string.IsNullOrEmpty(ScienceRecord.Description))
            {
                return($" <span{microdataAttr} class=\"hidden description\">{HttpUtility.HtmlDecode (ScienceRecord.Description)}</span>"
                       + "<a type=\"button\" href=\"#\" data-toggle=\"modal\""
                       + $" data-target=\"#u8y-sciencerecord-description-dialog-{Context.Module.ModuleId}\">[&#8230;]</a>");
            }

            if (ScienceRecord.ScienceRecordType.DescriptionIsRequired)
            {
                return($" <span{microdataAttr}>-</span>");
            }

            return(string.Empty);
        }
        string GetMicrodataAttrForValue(SystemScienceRecordType scienceRecordType, int n = 0)
        {
            switch (scienceRecordType)
            {
            case SystemScienceRecordType.Scientists: return(ItemProp("nprNir"));

            case SystemScienceRecordType.Students: return(ItemProp("studNir"));

            case SystemScienceRecordType.Monographs: return(ItemProp("monografNir"));

            case SystemScienceRecordType.Articles: return(ItemProp("articleNir"));

            case SystemScienceRecordType.Patents: return((n == 1)? ItemProp("patentRNir") : ItemProp("patentZNir"));

            case SystemScienceRecordType.Certificates: return((n == 1)? ItemProp("svidRNir") : ItemProp("svidZNir"));
            }

            return(string.Empty);
        }
Esempio n. 7
0
 ScienceRecordViewModel GetScienceRecordByType(SystemScienceRecordType systemScienceRecordType)
 {
     return(ScienceRecordViewModels
            .FirstOrDefault(sr => sr.ScienceRecordType.GetSystemScienceRecordType() == systemScienceRecordType));
 }