using Microsoft.AspNetCore.Mvc.Rendering;
using WorkFlowCheck.Common.DTO;

namespace WorkFlowCheck.BL.Services.Interfaces
{
    public interface ICheckListService
    {
        Task<CheckListHeaderDTO> GetCheckListHeaderAsync(int Id);
        Task<List<CheckListHeaderDTO>> GetAllCheckListHeaderAsync();
        Task<CheckListHeaderDTO> UpdateCheckListHeaderAsync(CheckListHeaderDTO checkListHeaderDTO);

        Task<CheckListHeaderDTO> StartNewCheckListAsync(CheckListHeaderNewDTO checkListHeaderNewDTO);


        Task<CheckListTemplateHeaderDTO> GetCheckListTemplateHeaderAsync(int Id);
        Task<List<CheckListTemplateHeaderDTO>> GetAllCheckListTemplateHeaderAsync();
        Task<CheckListTemplateHeaderDTO> UpdateCheckListTemplateHeaderAsync(CheckListTemplateHeaderDTO checkListTemplateHeaderDTO);

        Task<CheckListTemplateRowDTO> GetCheckListTemplateRowAsync(int id);
        Task<CheckListTemplateRowDTO> UpdateCheckListTemplateRowAsync(CheckListTemplateRowDTO checkListTemplateRowDTO);

        Task<CheckListRowDTO> GetCheckListRowAsync(int id);
        Task<CheckListRowDTO> UpdateCheckListRowAsync(CheckListRowDTO checkListRowDTO);
               
        
        Task<byte[]> CreatePDF(int checkListHeaderId);
    }
}
