using Microsoft.EntityFrameworkCore;
using Ropin.Inspection.Model.Entities;
using Ropin.Inspection.Model.SearchModel.DEV;
using Ropin.Inspection.Model.ViewModel.DEV;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ropin.Inspection.Repository.DEV.Interface
{
    public interface IDevCmdRepository : IRepositoryBase<TDEV_Cmd>, IRepositoryBaseById<TDEV_Cmd, string>
    {
        Task<IEnumerable<DevCmdViewModel>> GetConditionAsync(DevCmdSearchModel searchModel);
    }
    public interface IDevInstructionRepository : IRepositoryBase<TDEV_Instruction>, IRepositoryBaseById<TDEV_Instruction, string>
    {
        Task<IEnumerable<DevInstructionViewModel>> GetConditionAsync(DevInstructionSearchModel searchModel);
        Task<List<DevInstructionInfo>> GetInstructionByCmdCode(DevInstructionSearchModel searchModel);
    }
    public interface IDevCmdInstructionRepository : IRepositoryBase<TDEV_CmdInstruction>, IRepositoryBaseById<TDEV_CmdInstruction, string>
    {
        Task<IEnumerable<DevCmdInstructionViewModel>> GetConditionAsync(DevCmdInstructionSearchModel searchModel);
        Task<bool> DeleteBYCmdCode(string cmdCode);
        Task<bool> DeleteBYInstruction(string Instruction);
    }
}