Files
PIbd-32_BuslaevRoman_KOP/ComponentOrientedPlatform/Abstractions/IReportDocumentWithTableColumnHeaderContract.cs
2025-10-21 13:17:55 +04:00

46 lines
3.5 KiB
C#
Raw 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.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ComponentOrientedPlatform.Abstractions;
public interface IReportDocumentWithTableColumnHeaderContract :
IReportDocumentContract
{
/// <summary>
/// Создание документа в асинхронном режиме
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="filePath">Путь до файла</param>
/// <param name="header">Заголовок документа</param>
/// <param name="rowsHeights">Высота строк</param>
/// <param name="rowUnions">Список строк заголовка для объединения (индекс первой строки, с которой начинается объединенние и количество объединяемых строк)</param>
/// <param name="headers">Список заголовков (указывается индекс ячейки, в которую нужно вставить заголовок, а также название свойства или поля, из которого следует извлекать значение из элемента данных для заполнения ячейки столбца)</param>
/// <param name="data">Данные для заполнения таблицы</param>
/// <exception cref="ArgumentNullException">Не указан путь до файла</exception>
/// <exception cref="ArgumentNullException">Не задан заголовок документа</exception>
/// <exception cref="ArgumentNullException">Список rowsHeights не задан</exception>
/// <exception cref="ArgumentOutOfRangeException">Список rowsHeights пустой</exception>
/// <exception cref="ArgumentNullException">Список rowUnions не задан</exception>
/// <exception cref="ArgumentOutOfRangeException">Список rowUnions пустой</exception>
/// <exception cref="ArgumentNullException">Список заголовков не задан</exception>
/// <exception cref="ArgumentOutOfRangeException">Список заголовков пустой</exception>
/// <exception cref="ArgumentException">Список rowsHeights не совпадает по количеству заголовков второго столбца из списка заголовков</exception>
/// <exception cref="ArgumentException">Имеется несоответсвие списка объединения строк и списка заголовков</exception>
/// <exception cref="ArgumentNullException">Список данных для заполнения не задан</exception>
/// <exception cref="ArgumentOutOfRangeException">Список данных для заполнения пустой</exception>
/// <exception cref="ArgumentException">Список данных для заполнения не совпадает по количеству заголовков второго столбца из списка заголовков</exception>
/// <returns>Задача по созданию документа</returns>
Task CreateDocumentAsync<T>(
string filePath,
string header,
List<int> rowsHeights,
List<(int StartIndex, int Count)> rowUnions,
List<(int ColumnIndex, int RowIndex, string Header, string
PropertyName, string FiledName)> headers,
List<T> data
);
}