private TagBuilder CreateHeaderRows(bool isDeviceDataPrinting, bool isLocalDataPrinting) { TagBuilder tableRowForHeaders = new TagBuilder("tr"); TagBuilder nameTableHeader = new TagBuilder("th"); nameTableHeader.AddToInnerHtml(_localizerService.GetLocalizedString("Name")); tableRowForHeaders.AddTagToInnerHtml(nameTableHeader); if (isDeviceDataPrinting) { TagBuilder deviceDataTableHeader = new TagBuilder("th"); deviceDataTableHeader.AddToInnerHtml(_localizerService.GetLocalizedString("DeviceData")); tableRowForHeaders.AddTagToInnerHtml(deviceDataTableHeader); } if (isLocalDataPrinting) { TagBuilder localDataTableHeader = new TagBuilder("th"); localDataTableHeader.AddToInnerHtml(_localizerService.GetLocalizedString("LocalData")); tableRowForHeaders.AddTagToInnerHtml(localDataTableHeader); } TagBuilder measureUnitTableHeader = new TagBuilder("th"); measureUnitTableHeader.AddToInnerHtml(_localizerService.GetLocalizedString("MeasureUnit")); TagBuilder rangeTableHeader = new TagBuilder("th"); rangeTableHeader.AddToInnerHtml(_localizerService.GetLocalizedString("Range")); tableRowForHeaders.AddTagToInnerHtml(measureUnitTableHeader); tableRowForHeaders.AddTagToInnerHtml(rangeTableHeader); return(tableRowForHeaders); }
public Maybe <List <TagBuilder> > RenderRecord(int numberOfRecord, List <IFormattedValueViewModel> valueViewModels) { TagBuilder tableRowForItems = new TagBuilder("tr"); TagBuilder numberTag = new TagBuilder("td"); numberTag.AddToInnerHtml(numberOfRecord.ToString()); tableRowForItems.AddTagToInnerHtml(numberTag); valueViewModels.ForEach(model => { TagBuilder tag = new TagBuilder("td"); tag.AddToInnerHtml(model.AsString()); tableRowForItems.AddTagToInnerHtml(tag); }); return(Maybe <List <TagBuilder> > .FromValue(new List <TagBuilder>(){ tableRowForItems })); }
public async Task <string> RenderHtmlString(IRuntimeConfigurationViewModel deviceConfiguration, ConfigurationExportSelector configurationExportSelector) { string main = "<!DOCTYPE html>\n <html> " + "\n<style type=\"text/css\" media=\"all\" >" + "\nbody { font-size: small }" + "\n.rootItem {border: 0; background-color:#999 !important;" + "\n-webkit-print-color-adjust: exact;" + "\ncolor-adjust: exact;}" + "\ntr:nth-of-type(odd) {background-color:#ccc;" + "\n-webkit-print-color-adjust: exact;" + "\ncolor-adjust: exact;}" + "\ntd {border: 0}" + "\n</style> " + "\n<head>\n <meta charset =\"utf-8\"/>\n<title> HTML Document </title>\n</head>"; await Task.Run((() => { TagBuilder body = new TagBuilder("body"); TagBuilder table = new TagBuilder("table"); table.MergeAttribute("border", "1"); table.AddTagToInnerHtml(CreateHeaderRows(configurationExportSelector.IsPrintDeviceValuesAllowed, configurationExportSelector.IsPrintLocalValuesAllowed)); foreach (var rootConfigurationItem in deviceConfiguration.RootConfigurationItemViewModels) { var selector = configurationExportSelector.SelectorForItemsGroup.FirstOrDefault( group => group.RelatedItemsGroup == rootConfigurationItem) ?? configurationExportSelector.SelectorForItemsGroup.First(); _itemRendererFactory.GetConfigurationItemRenderer(rootConfigurationItem) .RenderHtmlFromItem(rootConfigurationItem, selector ) .OnNotEmpty(list => list .ForEach(builder => table .AddTagToInnerHtml(builder))); } body.AddTagToInnerHtml(table); main += body; main += ("\n</html>"); })); return(main); }
private TagBuilder CreateHeaderRows(IUniconJournalViewModel journalViewModel) { TagBuilder tableRowForHeaders = new TagBuilder("tr"); TagBuilder numTableHeader = new TagBuilder("th"); numTableHeader.AddToInnerHtml("№"); tableRowForHeaders.AddTagToInnerHtml(numTableHeader); foreach (var columnName in journalViewModel.Table.ColumnNamesStrings) { TagBuilder nameTableHeader = new TagBuilder("th"); nameTableHeader.AddToInnerHtml(columnName); tableRowForHeaders.AddTagToInnerHtml(nameTableHeader); } return(tableRowForHeaders); }
private void AddDataTag(TagBuilder tagBuilder, string data) { TagBuilder tag = new TagBuilder("td"); tag.AddToInnerHtml(data); tagBuilder.AddTagToInnerHtml(tag); }
public TagBuilder Render() { TagBuilder tableRowForItems = new TagBuilder("tr"); TagBuilder nameTableItem = new TagBuilder("td"); string offsetString = ""; for (int i = 0; i < _depthLevel; i++) { offsetString += " "; } if (_nameRenderData.CssClassName != null) { nameTableItem.AddCssClass(_nameRenderData.CssClassName); } nameTableItem.AddToInnerHtml(offsetString + _nameRenderData.StringToRender); tableRowForItems.AddTagToInnerHtml(nameTableItem); RenderDataToTag(tableRowForItems, _deviceData, _shouldRenderEmptyItems, _isDeviceDataPrinting); RenderDataToTag(tableRowForItems, _localData, _shouldRenderEmptyItems, _isLocalDataPrinting); RenderDataToTag(tableRowForItems, _measureUnit, _shouldRenderEmptyItems); RenderDataToTag(tableRowForItems, _range, _shouldRenderEmptyItems); return(tableRowForItems); }
public async Task <string> RenderHtmlString(IUniconJournalViewModel journalViewModel, JournalExportSelector configurationExportSelector) { string main = "<!DOCTYPE html>\n <html> " + "\n<style type=\"text/css\" media=\"all\" >" + "\nbody { font-size: small }" + "\n.rootItem {border: 0; background-color:#999 !important;" + "\n-webkit-print-color-adjust: exact;" + "\ncolor-adjust: exact;}" + "\ntr:nth-of-type(odd) {background-color:#ccc;" + "\n-webkit-print-color-adjust: exact;" + "\ncolor-adjust: exact;}" + "\ntd {border: 0}" + "\n</style> " + "\n<head>\n <meta charset =\"utf-8\"/>\n<title> HTML Document </title>\n</head>"; await Task.Run((() => { TagBuilder body = new TagBuilder("body"); TagBuilder table = new TagBuilder("table"); table.MergeAttribute("border", "1"); table.AddTagToInnerHtml(CreateHeaderRows(journalViewModel)); int numberOfRecord = 1; foreach (var record in journalViewModel.Table.Values) { _journalRecordRenderer.RenderRecord(numberOfRecord, record) .OnNotEmpty(list => list .ForEach(builder => table .AddTagToInnerHtml(builder))); numberOfRecord++; } body.AddTagToInnerHtml(table); main += body; main += ("\n</html>"); })); return(main); }