изменения для отчёта
This commit is contained in:
parent
3873ce4e95
commit
63577d725c
@ -3,10 +3,12 @@ using PIHelperSh.PdfCreator;
|
|||||||
using PIHelperSh.PdfCreator.Enums;
|
using PIHelperSh.PdfCreator.Enums;
|
||||||
using PIHelperSh.PdfCreator.Models.PieChartModel;
|
using PIHelperSh.PdfCreator.Models.PieChartModel;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using static System.Runtime.InteropServices.Marshalling.IIUnknownCacheStrategy;
|
|
||||||
|
|
||||||
namespace Cop.Borovkov.Var3.Components
|
namespace Cop.Borovkov.Var3.Components
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Компонент создающий линейную диаграмму
|
||||||
|
/// </summary>
|
||||||
public partial class CustomPdfHistogram : Component
|
public partial class CustomPdfHistogram : Component
|
||||||
{
|
{
|
||||||
public CustomPdfHistogram()
|
public CustomPdfHistogram()
|
||||||
|
@ -1,13 +1,28 @@
|
|||||||
namespace Cop.Borovkov.Var3.Models
|
namespace Cop.Borovkov.Var3.Models
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Параметры столбца таблицы
|
||||||
|
/// </summary>
|
||||||
public record CustomDataTableColumnParameter
|
public record CustomDataTableColumnParameter
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Заголовок
|
||||||
|
/// </summary>
|
||||||
public string HeaderName { get; init; } = string.Empty;
|
public string HeaderName { get; init; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Ширина
|
||||||
|
/// </summary>
|
||||||
public int Width { get; init; } = 0;
|
public int Width { get; init; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Видимость
|
||||||
|
/// </summary>
|
||||||
public bool Visible { get; init; } = true;
|
public bool Visible { get; init; } = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Название свойства
|
||||||
|
/// </summary>
|
||||||
public string PropertyName { get; init; } = string.Empty;
|
public string PropertyName { get; init; } = string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
namespace Cop.Borovkov.Var3.Models
|
namespace Cop.Borovkov.Var3.Models
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Параметры для создания линейной диограммы
|
/// Параметры для создания линейной диаграммы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public record PdfHistigramInfo
|
public record PdfHistigramInfo
|
||||||
{
|
{
|
||||||
@ -18,7 +18,7 @@ namespace Cop.Borovkov.Var3.Models
|
|||||||
public string DocumentTitle { get; init; } = "Гистограмма";
|
public string DocumentTitle { get; init; } = "Гистограмма";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Заголовок диограммы
|
/// Заголовок диаграммы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string HistogramTitle { get; init; } = "Гистограмма";
|
public string HistogramTitle { get; init; } = "Гистограмма";
|
||||||
|
|
||||||
@ -31,5 +31,5 @@ namespace Cop.Borovkov.Var3.Models
|
|||||||
/// Значения
|
/// Значения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public required IEnumerable<PdfHistogramLineInfo> Values { get; init; }
|
public required IEnumerable<PdfHistogramLineInfo> Values { get; init; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
namespace Cop.Borovkov.Var3.Models
|
namespace Cop.Borovkov.Var3.Models
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Параметры для создания таблици в пдф с группировкой по 1 столбцу
|
/// Параметры для создания таблицы в пдф с группировкой по 1 столбцу
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class PdfTableWithGroupingInfo<TType> where TType : class
|
public class PdfTableWithGroupingInfo<TType> where TType : class
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,7 @@ namespace PIHelperSh.PdfCreator.Enums
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Отступа нет
|
/// Отступа нет
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[TypeValue<string>("ocm")]
|
[TypeValue<string>("0cm")]
|
||||||
None,
|
None,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Отступ небольшой
|
/// Отступ небольшой
|
||||||
|
@ -29,7 +29,7 @@ namespace PIHelperSh.PdfCreator.Models.ImageModels
|
|||||||
public int? Height { get; set; } = null;
|
public int? Height { get; set; } = null;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Выравнивание текста внутри параграфа (по умолчанию - по левой строне)
|
/// Выравнивание текста внутри параграфа (по умолчанию - по левой стороне)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public PdfAlignmentType ImageAlignment { get; set; } = PdfAlignmentType.Left;
|
public PdfAlignmentType ImageAlignment { get; set; } = PdfAlignmentType.Left;
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ namespace PIHelperSh.PdfCreator.Models.PieChartModel
|
|||||||
public IEnumerable<(string Name, double Value)> Value { get; set; }
|
public IEnumerable<(string Name, double Value)> Value { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Цвет области на диаграме. При null будет использоватсся выдача цветов по умолчанию)
|
/// Цвет области на диаграме. При null будет использоваться выдача цветов по умолчанию)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Color? Color { get; set; } = null;
|
public Color? Color { get; set; } = null;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
namespace PIHelperSh.PdfCreator.Models.PieChartModel
|
namespace PIHelperSh.PdfCreator.Models.PieChartModel
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Модель линейной диограммы
|
/// Модель линейной диаграммы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class PdfHistogramModel : PdfPieChartModel
|
public class PdfHistogramModel : PdfPieChartModel
|
||||||
{
|
{
|
||||||
|
@ -18,7 +18,7 @@ namespace PIHelperSh.PdfCreator.Models.PieChartModel
|
|||||||
public double Value { get; set; }
|
public double Value { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Цвет области на диаграме. При null будет использоватсся выдача цветов по умолчанию)
|
/// Цвет области на диаграме. При null будет использоваться выдача цветов по умолчанию)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Color? Color { get; set; } = null;
|
public Color? Color { get; set; } = null;
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ namespace PIHelperSh.PdfCreator.Models.TextModels
|
|||||||
public class PdfList : IPdfElement
|
public class PdfList : IPdfElement
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Элементы списка (параграфы или иные спсики)
|
/// Элементы списка (параграфы или иные списки)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<IPdfElement> Content { get; set; } = new();
|
public List<IPdfElement> Content { get; set; } = new();
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ namespace PIHelperSh.PdfCreator.Models.TextModels
|
|||||||
public PdfStyleType Style { get; set; } = PdfStyleType.Basic;
|
public PdfStyleType Style { get; set; } = PdfStyleType.Basic;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Выравнивание текста внутри параграфа (по умолчанию - по левой строне)
|
/// Выравнивание текста внутри параграфа (по умолчанию - по левой стороне)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public PdfAlignmentType ParagraphAlignment { get; set; } = PdfAlignmentType.Left;
|
public PdfAlignmentType ParagraphAlignment { get; set; } = PdfAlignmentType.Left;
|
||||||
|
|
||||||
|
227
Report/report.md
Normal file
227
Report/report.md
Normal file
@ -0,0 +1,227 @@
|
|||||||
|
# Лабораторная работа 1
|
||||||
|
## Компоненты:
|
||||||
|
|
||||||
|
### CustomDataTable:
|
||||||
|
Визуальный компонент вывода таблицы значений
|
||||||
|
|
||||||
|
__Публичные Методы__:
|
||||||
|
- Определить структуру таблицы
|
||||||
|
```c#
|
||||||
|
void ConfigureColumns(params CustomDataTableColumnParameter[] columnParameters)
|
||||||
|
```
|
||||||
|
CustomDataTableColumnParameter
|
||||||
|
```c#
|
||||||
|
/// <summary>
|
||||||
|
/// Параметры столбца таблицы
|
||||||
|
/// </summary>
|
||||||
|
public record CustomDataTableColumnParameter
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Заголовок
|
||||||
|
/// </summary>
|
||||||
|
public string HeaderName { get; init; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Ширина
|
||||||
|
/// </summary>
|
||||||
|
public int Width { get; init; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Видимость
|
||||||
|
/// </summary>
|
||||||
|
public bool Visible { get; init; } = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Название свойства
|
||||||
|
/// </summary>
|
||||||
|
public string PropertyName { get; init; } = string.Empty;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- Отчистить таблицу
|
||||||
|
```c#
|
||||||
|
public void Clear()
|
||||||
|
```
|
||||||
|
- Заполнить таблицу
|
||||||
|
```c#
|
||||||
|
public void Fill<TType>(IList<TType> insertValues)
|
||||||
|
```
|
||||||
|
|
||||||
|
__Публичные Функции__:
|
||||||
|
- Получить стоку таблицы в виде объекта
|
||||||
|
```c#
|
||||||
|
public TType? GetRow<TType>(int rowIndex) where TType : new()
|
||||||
|
```
|
||||||
|
|
||||||
|
__Свойства__:
|
||||||
|
- Индекс выбранной строки
|
||||||
|
```c#
|
||||||
|
public int SelectedRow
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### CustomListBox
|
||||||
|
Визуальный компонент выбора из списка значений
|
||||||
|
|
||||||
|
__Публичные Методы__:
|
||||||
|
- Заполнить список значениями
|
||||||
|
```c#
|
||||||
|
public void FillValues(IEnumerable<string> strings)
|
||||||
|
```
|
||||||
|
- Очистить список
|
||||||
|
```c#
|
||||||
|
public void Clear()
|
||||||
|
```
|
||||||
|
|
||||||
|
__Свойства__:
|
||||||
|
- Событие возникающие при изменении списка
|
||||||
|
```c#
|
||||||
|
public event EventHandler ValueChanged
|
||||||
|
```
|
||||||
|
- Обработка ошибок
|
||||||
|
```c#
|
||||||
|
public event Action<Exception> AnErrorOccurred
|
||||||
|
```
|
||||||
|
- Выбранное значение
|
||||||
|
```c#
|
||||||
|
public string Selected
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### CustomNumericInputField
|
||||||
|
Визуальный компонент ввода целочисленного значения допускающего null
|
||||||
|
|
||||||
|
__Свойства__:
|
||||||
|
- Событие возникающие при изменении поля ввода
|
||||||
|
```c#
|
||||||
|
public event EventHandler NumericInputChanged
|
||||||
|
```
|
||||||
|
- Обработка ошибок
|
||||||
|
```c#
|
||||||
|
public event Action<Exception> AnErrorOccurred
|
||||||
|
```
|
||||||
|
- Значения поля ввода
|
||||||
|
```c#
|
||||||
|
public int? Value
|
||||||
|
```
|
||||||
|
_Возможно исключение ```InvalidNumericInputValueException```_
|
||||||
|
|
||||||
|
|
||||||
|
# Лабораторная работа 2
|
||||||
|
## Компоненты:
|
||||||
|
|
||||||
|
### CustomPdfTable
|
||||||
|
|
||||||
|
Компонент для сохранения таблицы в пдф
|
||||||
|
|
||||||
|
__Публичные Методы__:
|
||||||
|
- Определить структуру таблицы
|
||||||
|
```c#
|
||||||
|
public void SaveToPdf(PdfTableInfo tableInfo)
|
||||||
|
```
|
||||||
|
PdfTableInfo
|
||||||
|
```c#
|
||||||
|
/// <summary>
|
||||||
|
/// Параметры для создания таблиц в пдф
|
||||||
|
/// </summary>
|
||||||
|
public record PdfTableInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// имя файла (включая путь до файла)
|
||||||
|
/// </summary>
|
||||||
|
public string FilePath { get; init; } = @"C:\pdfTable.pdf";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// название документа(заголовок в документе)
|
||||||
|
/// </summary>
|
||||||
|
public string Title { get; init; } = "Таблица";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Список таблиц
|
||||||
|
/// </summary>
|
||||||
|
public IEnumerable<string[,]> Tables { get; init; } = [];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### CustomPdfTableWithGrouping
|
||||||
|
|
||||||
|
Компонент создающий таблицу и группирует элементы по 1 столбцу
|
||||||
|
__Публичные Методы__:
|
||||||
|
- Сохранить в пдф
|
||||||
|
```c#
|
||||||
|
public void SaveToPdf<TType>(PdfTableWithGroupingInfo<TType> tableInfo) where TType : class
|
||||||
|
```
|
||||||
|
PdfTableWithGroupingInfo
|
||||||
|
```c#
|
||||||
|
/// <summary>
|
||||||
|
/// Параметры для создания таблицы в пдф с группировкой по 1 столбцу
|
||||||
|
/// </summary>
|
||||||
|
public class PdfTableWithGroupingInfo<TType> where TType : class
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// имя файла (включая путь до файла)
|
||||||
|
/// </summary>
|
||||||
|
public string FilePath { get; init; } = @"C:\pdfTable.pdf";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// название документа(заголовок в документе)
|
||||||
|
/// </summary>
|
||||||
|
public string Title { get; init; } = "Таблица";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Высота заголовков
|
||||||
|
/// </summary>
|
||||||
|
public float HeaderHeight { get; init; } = 0.5f;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Параметры столбцов
|
||||||
|
/// </summary>
|
||||||
|
public IEnumerable<ColumnInfo> Columns { get; init; } = [];
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Список таблиц
|
||||||
|
/// </summary>
|
||||||
|
public IEnumerable<RowInfo<TType>> Rows { get; init; } = [];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### CustomPdfHistogram
|
||||||
|
|
||||||
|
Компонент создающий линейную диаграмму
|
||||||
|
__Публичные Методы__:
|
||||||
|
- Сохранить гистограмму в пдф
|
||||||
|
```c#
|
||||||
|
public void SaveToPdf(PdfHistigramInfo histogramInfo)
|
||||||
|
```
|
||||||
|
PdfHistigramInfo
|
||||||
|
```c#
|
||||||
|
/// <summary>
|
||||||
|
/// Параметры для создания линейной диаграммы
|
||||||
|
/// </summary>
|
||||||
|
public record PdfHistigramInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Имя файла (включая путь до файла)
|
||||||
|
/// </summary>
|
||||||
|
public string FilePath { get; init; } = @"C:\pdfTable.pdf";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Заголовок документа
|
||||||
|
/// </summary>
|
||||||
|
public string DocumentTitle { get; init; } = "Гистограмма";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Заголовок диаграммы
|
||||||
|
/// </summary>
|
||||||
|
public string HistogramTitle { get; init; } = "Гистограмма";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Расположение легенды
|
||||||
|
/// </summary>
|
||||||
|
public PdfLegendPosition LegendPosition { get; init; } = PdfLegendPosition.Bottom;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Значения
|
||||||
|
/// </summary>
|
||||||
|
public required IEnumerable<PdfHistogramLineInfo> Values { get; init; }
|
||||||
|
}
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user