From 63577d725cfaa699b4e7237f2469f5197a855925 Mon Sep 17 00:00:00 2001 From: bekodeg Date: Fri, 17 Jan 2025 21:20:54 +0400 Subject: [PATCH] =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82=D1=87=D1=91?= =?UTF-8?q?=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/CustomPdfHistogram.cs | 4 +- .../Models/CustomDataTableColumnParameter.cs | 15 ++ .../Models/PdfHistigramInfo.cs | 6 +- .../Models/PdfTableWithGroupingInfo.cs | 2 +- .../PdfCreator/Enums/PdfMargin.cs | 2 +- .../PdfCreator/Models/ImageModels/PdfImage.cs | 2 +- .../Models/PieChartModel/PdfHistogramData.cs | 2 +- .../Models/PieChartModel/PdfHistogramModel.cs | 2 +- .../Models/PieChartModel/PdfPieChartData.cs | 2 +- .../PdfCreator/Models/TextModels/PdfList.cs | 2 +- .../Models/TextModels/PdfParagraph.cs | 2 +- Report/report.md | 227 ++++++++++++++++++ 12 files changed, 256 insertions(+), 12 deletions(-) create mode 100644 Report/report.md diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Components/CustomPdfHistogram.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Components/CustomPdfHistogram.cs index b95aba0..463705b 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Components/CustomPdfHistogram.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Components/CustomPdfHistogram.cs @@ -3,10 +3,12 @@ using PIHelperSh.PdfCreator; using PIHelperSh.PdfCreator.Enums; using PIHelperSh.PdfCreator.Models.PieChartModel; using System.ComponentModel; -using static System.Runtime.InteropServices.Marshalling.IIUnknownCacheStrategy; namespace Cop.Borovkov.Var3.Components { + /// + /// Компонент создающий линейную диаграмму + /// public partial class CustomPdfHistogram : Component { public CustomPdfHistogram() diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/CustomDataTableColumnParameter.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/CustomDataTableColumnParameter.cs index 60bc5a8..27a89e2 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/CustomDataTableColumnParameter.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/CustomDataTableColumnParameter.cs @@ -1,13 +1,28 @@ namespace Cop.Borovkov.Var3.Models { + /// + /// Параметры столбца таблицы + /// public record CustomDataTableColumnParameter { + /// + /// Заголовок + /// public string HeaderName { get; init; } = string.Empty; + /// + /// Ширина + /// public int Width { get; init; } = 0; + /// + /// Видимость + /// public bool Visible { get; init; } = true; + /// + /// Название свойства + /// public string PropertyName { get; init; } = string.Empty; } } diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/PdfHistigramInfo.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/PdfHistigramInfo.cs index 5b5f839..c25cf8b 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/PdfHistigramInfo.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/PdfHistigramInfo.cs @@ -3,7 +3,7 @@ namespace Cop.Borovkov.Var3.Models { /// - /// Параметры для создания линейной диограммы + /// Параметры для создания линейной диаграммы /// public record PdfHistigramInfo { @@ -18,7 +18,7 @@ namespace Cop.Borovkov.Var3.Models public string DocumentTitle { get; init; } = "Гистограмма"; /// - /// Заголовок диограммы + /// Заголовок диаграммы /// public string HistogramTitle { get; init; } = "Гистограмма"; @@ -31,5 +31,5 @@ namespace Cop.Borovkov.Var3.Models /// Значения /// public required IEnumerable Values { get; init; } -} + } } diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/PdfTableWithGroupingInfo.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/PdfTableWithGroupingInfo.cs index f920b4e..20f5b1f 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/PdfTableWithGroupingInfo.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/Models/PdfTableWithGroupingInfo.cs @@ -1,7 +1,7 @@ namespace Cop.Borovkov.Var3.Models { /// - /// Параметры для создания таблици в пдф с группировкой по 1 столбцу + /// Параметры для создания таблицы в пдф с группировкой по 1 столбцу /// public class PdfTableWithGroupingInfo where TType : class { diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Enums/PdfMargin.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Enums/PdfMargin.cs index 6553cec..fed1c83 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Enums/PdfMargin.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Enums/PdfMargin.cs @@ -15,7 +15,7 @@ namespace PIHelperSh.PdfCreator.Enums /// /// Отступа нет /// - [TypeValue("ocm")] + [TypeValue("0cm")] None, /// /// Отступ небольшой diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/ImageModels/PdfImage.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/ImageModels/PdfImage.cs index 60d52a5..6b52099 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/ImageModels/PdfImage.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/ImageModels/PdfImage.cs @@ -29,7 +29,7 @@ namespace PIHelperSh.PdfCreator.Models.ImageModels public int? Height { get; set; } = null; /// - /// Выравнивание текста внутри параграфа (по умолчанию - по левой строне) + /// Выравнивание текста внутри параграфа (по умолчанию - по левой стороне) /// public PdfAlignmentType ImageAlignment { get; set; } = PdfAlignmentType.Left; diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfHistogramData.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfHistogramData.cs index b518631..39d16fa 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfHistogramData.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfHistogramData.cs @@ -18,7 +18,7 @@ namespace PIHelperSh.PdfCreator.Models.PieChartModel public IEnumerable<(string Name, double Value)> Value { get; set; } /// - /// Цвет области на диаграме. При null будет использоватсся выдача цветов по умолчанию) + /// Цвет области на диаграме. При null будет использоваться выдача цветов по умолчанию) /// public Color? Color { get; set; } = null; diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfHistogramModel.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfHistogramModel.cs index b6c7bb2..c4fe900 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfHistogramModel.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfHistogramModel.cs @@ -1,7 +1,7 @@ namespace PIHelperSh.PdfCreator.Models.PieChartModel { /// - /// Модель линейной диограммы + /// Модель линейной диаграммы /// public class PdfHistogramModel : PdfPieChartModel { diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfPieChartData.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfPieChartData.cs index 4542f04..c2c1369 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfPieChartData.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/PieChartModel/PdfPieChartData.cs @@ -18,7 +18,7 @@ namespace PIHelperSh.PdfCreator.Models.PieChartModel public double Value { get; set; } /// - /// Цвет области на диаграме. При null будет использоватсся выдача цветов по умолчанию) + /// Цвет области на диаграме. При null будет использоваться выдача цветов по умолчанию) /// public Color? Color { get; set; } = null; diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/TextModels/PdfList.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/TextModels/PdfList.cs index 17b210e..1abfcfc 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/TextModels/PdfList.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/TextModels/PdfList.cs @@ -14,7 +14,7 @@ namespace PIHelperSh.PdfCreator.Models.TextModels public class PdfList : IPdfElement { /// - /// Элементы списка (параграфы или иные спсики) + /// Элементы списка (параграфы или иные списки) /// public List Content { get; set; } = new(); diff --git a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/TextModels/PdfParagraph.cs b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/TextModels/PdfParagraph.cs index 60282bd..d3df994 100644 --- a/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/TextModels/PdfParagraph.cs +++ b/Cop.Borovkov.Var3/Cop.Borovkov.Var3/PdfCreator/Models/TextModels/PdfParagraph.cs @@ -24,7 +24,7 @@ namespace PIHelperSh.PdfCreator.Models.TextModels public PdfStyleType Style { get; set; } = PdfStyleType.Basic; /// - /// Выравнивание текста внутри параграфа (по умолчанию - по левой строне) + /// Выравнивание текста внутри параграфа (по умолчанию - по левой стороне) /// public PdfAlignmentType ParagraphAlignment { get; set; } = PdfAlignmentType.Left; diff --git a/Report/report.md b/Report/report.md new file mode 100644 index 0000000..8b145ca --- /dev/null +++ b/Report/report.md @@ -0,0 +1,227 @@ +# Лабораторная работа 1 +## Компоненты: + +### CustomDataTable: +Визуальный компонент вывода таблицы значений + +__Публичные Методы__: +- Определить структуру таблицы + ```c# + void ConfigureColumns(params CustomDataTableColumnParameter[] columnParameters) + ``` + CustomDataTableColumnParameter + ```c# + /// + /// Параметры столбца таблицы + /// + public record CustomDataTableColumnParameter + { + /// + /// Заголовок + /// + public string HeaderName { get; init; } = string.Empty; + + /// + /// Ширина + /// + public int Width { get; init; } = 0; + + /// + /// Видимость + /// + public bool Visible { get; init; } = true; + + /// + /// Название свойства + /// + public string PropertyName { get; init; } = string.Empty; + } + ``` +- Отчистить таблицу + ```c# + public void Clear() + ``` +- Заполнить таблицу + ```c# + public void Fill(IList insertValues) + ``` + +__Публичные Функции__: +- Получить стоку таблицы в виде объекта + ```c# + public TType? GetRow(int rowIndex) where TType : new() + ``` + +__Свойства__: +- Индекс выбранной строки + ```c# + public int SelectedRow + ``` + + +### CustomListBox +Визуальный компонент выбора из списка значений + +__Публичные Методы__: +- Заполнить список значениями + ```c# + public void FillValues(IEnumerable strings) + ``` +- Очистить список + ```c# + public void Clear() + ``` + +__Свойства__: +- Событие возникающие при изменении списка + ```c# + public event EventHandler ValueChanged + ``` +- Обработка ошибок + ```c# + public event Action AnErrorOccurred + ``` +- Выбранное значение + ```c# + public string Selected + ``` + + +### CustomNumericInputField +Визуальный компонент ввода целочисленного значения допускающего null + +__Свойства__: +- Событие возникающие при изменении поля ввода + ```c# + public event EventHandler NumericInputChanged + ``` +- Обработка ошибок + ```c# + public event Action AnErrorOccurred + ``` +- Значения поля ввода + ```c# + public int? Value + ``` + _Возможно исключение ```InvalidNumericInputValueException```_ + + +# Лабораторная работа 2 +## Компоненты: + +### CustomPdfTable + +Компонент для сохранения таблицы в пдф + +__Публичные Методы__: +- Определить структуру таблицы + ```c# + public void SaveToPdf(PdfTableInfo tableInfo) + ``` + PdfTableInfo + ```c# + /// + /// Параметры для создания таблиц в пдф + /// + public record PdfTableInfo + { + /// + /// имя файла (включая путь до файла) + /// + public string FilePath { get; init; } = @"C:\pdfTable.pdf"; + + /// + /// название документа(заголовок в документе) + /// + public string Title { get; init; } = "Таблица"; + + /// + /// Список таблиц + /// + public IEnumerable Tables { get; init; } = []; + } + ``` + +### CustomPdfTableWithGrouping + +Компонент создающий таблицу и группирует элементы по 1 столбцу +__Публичные Методы__: +- Сохранить в пдф + ```c# + public void SaveToPdf(PdfTableWithGroupingInfo tableInfo) where TType : class + ``` + PdfTableWithGroupingInfo + ```c# + /// + /// Параметры для создания таблицы в пдф с группировкой по 1 столбцу + /// + public class PdfTableWithGroupingInfo where TType : class + { + /// + /// имя файла (включая путь до файла) + /// + public string FilePath { get; init; } = @"C:\pdfTable.pdf"; + + /// + /// название документа(заголовок в документе) + /// + public string Title { get; init; } = "Таблица"; + + /// + /// Высота заголовков + /// + public float HeaderHeight { get; init; } = 0.5f; + + /// + /// Параметры столбцов + /// + public IEnumerable Columns { get; init; } = []; + + /// + /// Список таблиц + /// + public IEnumerable> Rows { get; init; } = []; + } + ``` + +### CustomPdfHistogram + +Компонент создающий линейную диаграмму +__Публичные Методы__: +- Сохранить гистограмму в пдф + ```c# + public void SaveToPdf(PdfHistigramInfo histogramInfo) + ``` + PdfHistigramInfo + ```c# + /// + /// Параметры для создания линейной диаграммы + /// + public record PdfHistigramInfo + { + /// + /// Имя файла (включая путь до файла) + /// + public string FilePath { get; init; } = @"C:\pdfTable.pdf"; + + /// + /// Заголовок документа + /// + public string DocumentTitle { get; init; } = "Гистограмма"; + + /// + /// Заголовок диаграммы + /// + public string HistogramTitle { get; init; } = "Гистограмма"; + + /// + /// Расположение легенды + /// + public PdfLegendPosition LegendPosition { get; init; } = PdfLegendPosition.Bottom; + + /// + /// Значения + /// + public required IEnumerable Values { get; init; } + } + ``` \ No newline at end of file