DigitalDoor.Reporting.Entities 1.16.58

dotnet add package DigitalDoor.Reporting.Entities --version 1.16.58                
NuGet\Install-Package DigitalDoor.Reporting.Entities -Version 1.16.58                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DigitalDoor.Reporting.Entities" Version="1.16.58" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DigitalDoor.Reporting.Entities --version 1.16.58                
#r "nuget: DigitalDoor.Reporting.Entities, 1.16.58"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DigitalDoor.Reporting.Entities as a Cake Addin
#addin nuget:?package=DigitalDoor.Reporting.Entities&version=1.16.58

// Install DigitalDoor.Reporting.Entities as a Cake Tool
#tool nuget:?package=DigitalDoor.Reporting.Entities&version=1.16.58                

DigitalDoor.Reporting.Entities

Objects and abstractions for can create a report using DigitalDoor.Reporting. Also can create HTML directly.

How to use:

Install nuget

dotnet add package DigitalDoor.Reporting --version 1.16.57

Interfaces

IPDFReportOutputPort;
IPDFReportPresenter;
IReportAsBytes<TImplementation>;    //specific implementation => class PDFReport: IReportAsBytes<PDFReport> or class JPGReport: IReportAsBytes<JPGReport>
IReportAsBytes;                     //default implementation to get the bytes, usually as PDF
IReportDataRepository;
IReportsOutputPort;
IReportsPresenter;

Models

Setup;
Section;
Row;
Format;
ColumnSetup;
ColumnData;

ValueObjects

Border;
BorderStyle;
Dimension;
Font;
FontStyle;
Item;
Kernel;
Orientation;
SectionType;
Shade;

Enum

TextAlignment;
TextDecoration;
ValueType;

ViewModels

ReportViewModel : Setup;

Helper Class

namespace DigitalDoor.Reporting.Entities.Helpers;

public class PageSize
{
    public static readonly Dimension _4A0 = new Dimension(1682, 2378);
    public static readonly Dimension _2A0 = new Dimension(1189, 1682);
    public static readonly Dimension A0 = new Dimension(841, 1189);
    public static readonly Dimension A1 = new Dimension(594, 841);
    public static readonly Dimension A2 = new Dimension(420, 594);
    public static readonly Dimension A3 = new Dimension(297, 420);
    public static readonly Dimension A4 = new Dimension(210, 297);
    public static readonly Dimension A5 = new Dimension(148, 210);
    public static readonly Dimension A6 = new Dimension(105, 148);
    public static readonly Dimension A7 = new Dimension(74, 105);
    public static readonly Dimension A8 = new Dimension(52, 74);
    public static readonly Dimension A9 = new Dimension(37, 52);
    public static readonly Dimension A10 = new Dimension(26, 37);

    public static readonly Dimension B0 = new Dimension(1000, 1000);
    public static readonly Dimension B1 = new Dimension(707, 707);
    public static readonly Dimension B2 = new Dimension(500, 500);
    public static readonly Dimension B3 = new Dimension(353, 353);
    public static readonly Dimension B4 = new Dimension(250, 353);
    public static readonly Dimension B5 = new Dimension(176, 250);
    public static readonly Dimension B6 = new Dimension(125, 176);
    public static readonly Dimension B7 = new Dimension(88, 125);
    public static readonly Dimension B8 = new Dimension(62, 88);
    public static readonly Dimension B9 = new Dimension(44, 62);
    public static readonly Dimension B10 = new Dimension(31, 44);

    public static readonly Dimension C0 = new Dimension(917, 1297);
    public static readonly Dimension C1 = new Dimension(648, 917);
    public static readonly Dimension C2 = new Dimension(458, 648);
    public static readonly Dimension C3 = new Dimension(324, 458);
    public static readonly Dimension C4 = new Dimension(229, 324);
    public static readonly Dimension C5 = new Dimension(162, 229);
    public static readonly Dimension C6 = new Dimension(114, 162);
    public static readonly Dimension C7 = new Dimension(81, 114);
    public static readonly Dimension C8 = new Dimension(57, 81);
    public static readonly Dimension C9 = new Dimension(40, 57);
    public static readonly Dimension C10 = new Dimension(28, 40);
}

public static class ImageValidator
{
    public static bool IsLikelyImage(string base64String);
    public static bool IsBase64String(string input);
    public static bool IsLikelyBase64(string input);
}

public class ReportFunctions
{
    public object SetValue(Item column, object data);
    public static void AddPagination(List<ColumnData> data, SectionType section);
    public string GetPaperSizeName(Dimension size);
}

public class ReportHtmlGenerator
{
    public ReportHtmlGenerator(ReportViewModel reportModel);        //constructor
    public string GenerateHtml();
}
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DigitalDoor.Reporting.Entities:

Package Downloads
DigitalDoor.Reporting.Helpers

Tools for windows platforms only.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.16.58 165 11/2/2024
1.16.57 266 6/7/2024
1.16.56 196 5/26/2024
1.16.54 190 5/11/2024
1.15.53 179 3/21/2024
1.14.52 180 3/19/2024
1.14.51 297 12/11/2023
1.14.50 224 11/22/2023
1.13.46 222 11/1/2023
1.13.45 338 10/4/2023
1.13.44 397 8/27/2023
1.12.43 244 8/25/2023
0.8.25 214 5/23/2023
0.8.23 533 11/7/2022
0.7.21 1,841 7/28/2022

2024-11-01: Add new overload method for ImageValidator accepting a object and byte[].
 2024-07-06: Create a helper ReportHtmlGenerator to get a HTML version of the report to use anywhere you need.
 2024-05-26: Change to public class ReportFunctions because the static method AddPagination it's in use outside of the assembly.
 2024-05-11: Add new interface to follow OCP and give posibility to create different presenter implementations.
 2024-03-21: Add radius property for the borders.
 2023-12-12: Improvement PDF creation time.
 2023-12-11: Add opacity in the layers/item data.
 2023-11-22: Update frameworks target to NET 6 and NET 8.
 2023-11-01: Add a method to get column data from ReportingViewModel. Modify README start with documentation.
 2023-10-04: Change Section constructor to add new can set the orientation. Fixed when orientation is set, setup correctly the dimensions for the row and body from Page constructor.
 2023-08-27: Add new interface IReportAsBytes fo can generate directly the PDF bytes in only one injection. Cleanup unnecesary commented files.