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

namespace WorkFlowCheck.Web.Services.Interfaces
{
    public interface ICheckListService
    {
        Task<CheckListHeaderDTO> GetCheckListHeader(int id);
        Task<List<CheckListHeaderDTO>> GetAllCheckListHeaderAsync();
        Task<ApiResponseDTO<CheckListHeaderDTO>> UpdateCheckListHeader(CheckListHeaderDTO checkListHeaderDTO);
        Task<ApiResponseDTO<byte[]>> CreatePDF(int id);

        Task<CheckListTemplateHeaderDTO> GetCheckListTemplateHeader(int id);
        Task<List<CheckListTemplateHeaderDTO>> GetAllCheckListTemplateHeaderAsync();
        Task<ApiResponseDTO<CheckListTemplateHeaderDTO>> UpdateCheckListTemplateHeader(CheckListTemplateHeaderDTO checkListTemplateHeaderDTO);

        Task<CheckListTemplateRowDTO> GetCheckListTemplateRow(int id);
        Task<ApiResponseDTO<CheckListTemplateRowDTO>> UpdateCheckListTemplateRow(CheckListTemplateRowDTO checkListTemplateRowDTO);

        Task<CheckListRowDTO> GetCheckListRow(int id);
        Task<ApiResponseDTO<CheckListRowDTO>> UpdateCheckListRow(CheckListRowDTO checkListRowDTO);

        List<SelectListItem> GetCheckStatus();

    }
}
