46 lines
3.5 KiB
C#
46 lines
3.5 KiB
C#
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
|
||
);
|
||
}
|