using WorkFlowCheck.Common.DTO;


namespace WorkFlowCheck.BL.Services.Interfaces
{
    public interface ISyncService
    {
        Task<List<CheckPointDTO>> GetAllCheckPointAsync();
        Task<CheckPointDTO> GetCheckPointAsync(int id);
        Task<bool> DeleteCheckPointAsync(int id);
        Task<CheckPointDTO> UpdateCheckPointAsync(CheckPointDTO checkPointDTO);
        Task<List<CheckPointDTO>> UpdateAllCheckPointAsync(List<CheckPointDTO> checkPointListDTO);


        Task<List<LocationDTO>> GetAllLocationAsync();
        Task<LocationDTO> GetLocationAsync(int id);
        Task<bool> DeleteLocationAsync(int id);
        Task<LocationDTO> UpdateLocationAsync(LocationDTO LocationDTO);


        Task<List<EquipmentDTO>> GetAllEquipmentAsync();
        Task<EquipmentDTO> GetEquipmentAsync(int id);
        Task<bool> DeleteEquipmentAsync(int id);
        Task<EquipmentDTO> UpdateEquipmentAsync(EquipmentDTO EquipmentDTO);


        Task<List<CheckListTemplateHeaderDTO>> GetAllCheckListTemplateAsync(int userId);
        Task<List<CheckListHeaderDTO>> GetAllCheckListAsync(int userId);

        Task<CheckListHeaderDTO> UpdateCheckListHeaderAsync(CheckListHeaderDTO checkListHeaderDTO);
    }
}
