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} / {value2}</span>"); } var microdataAttr2 = GetMicrodataAttrForValue(scienceRecordType, 2); return($"<span class=\"values\"><span{microdataAttr1}>{value1}</span> / <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); }
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}\">[…]</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); }
ScienceRecordViewModel GetScienceRecordByType(SystemScienceRecordType systemScienceRecordType) { return(ScienceRecordViewModels .FirstOrDefault(sr => sr.ScienceRecordType.GetSystemScienceRecordType() == systemScienceRecordType)); }