using ComputerShopBusinessLogic.OfficePackage.HelperModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ComputerShopBusinessLogic.OfficePackage
{
    public abstract class AbstractSaveToExcel
    {
        //public void CreateReport(ExcelInfo info)
        //{
        //    CreateExcel(info);
        //    InsertCellInWorksheet(new ExcelCellParameters
        //    {
        //        ColumnName = "A",
        //        RowIndex = 1,
        //        Text = info.Title,
        //        StyleInfo = ExcelStyleInfoType.Title
        //    });
        //    MergeCells(new ExcelMergeParameters
        //    {
        //        CellFromName = "A1",
        //        CellToName = "C1"
        //    });
        //    uint rowIndex = 2;
        //    foreach (var pc in info.DocumentBlanks)
        //    {
        //        InsertCellInWorksheet(new ExcelCellParameters
        //        {
        //            ColumnName = "A",
        //            RowIndex = rowIndex,
        //            Text = pc.DocumentName,
        //            StyleInfo = ExcelStyleInfoType.Text
        //        });
        //        rowIndex++;
        //        foreach (var (Blank, Count) in pc.Blanks)
        //        {
        //            InsertCellInWorksheet(new ExcelCellParameters
        //            {
        //                ColumnName = "B",
        //                RowIndex = rowIndex,
        //                Text = Blank,
        //                StyleInfo = ExcelStyleInfoType.TextWithBorder
        //            });
        //            InsertCellInWorksheet(new ExcelCellParameters
        //            {
        //                ColumnName = "C",
        //                RowIndex = rowIndex,
        //                Text = Count.ToString(),
        //                StyleInfo = ExcelStyleInfoType.TextWithBorder
        //            });
        //            rowIndex++;
        //        }
        //        InsertCellInWorksheet(new ExcelCellParameters
        //        {
        //            ColumnName = "A",
        //            RowIndex = rowIndex,
        //            Text = "Итого",
        //            StyleInfo = ExcelStyleInfoType.Text
        //        });
        //        InsertCellInWorksheet(new ExcelCellParameters
        //        {
        //            ColumnName = "C",
        //            RowIndex = rowIndex,
        //            Text = pc.TotalCount.ToString(),
        //            StyleInfo = ExcelStyleInfoType.Text
        //        });
        //        rowIndex++;
        //    }
        //    SaveExcel(info);
        //}
        ///// Создание excel-файла
        //protected abstract void CreateExcel(ExcelInfo info);
        ///// Добавляем новую ячейку в лист
        //protected abstract void InsertCellInWorksheet(ExcelCellParameters excelParams);
        ///// Объединение ячеек
        //protected abstract void MergeCells(ExcelMergeParameters excelParams);
        ///// Сохранение файла
        //protected abstract void SaveExcel(ExcelInfo info);
    }
}
