Cop.Borovkov.Var3/Report/report.md
2025-01-17 21:20:54 +04:00

227 lines
6.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лабораторная работа 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; }
}
```