using Ropin.Inspection.Model;
using Ropin.Inspection.Service.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace Ropin.Inspection.Service
{
    public interface ITmtnRepairOrderItemService : IBaseService<TmtnRepairOrderItemViewModel>, IBaseServiceById<TmtnRepairOrderItemViewModel, Guid>
    {
        Task<IEnumerable<TmtnRepairOrderItemViewModel>> GetAllAsync();
        Task<IEnumerable<TmtnRepairOrderItemViewModel>> GetByConditionAsync(Expression<Func<TmtnRepairOrderItemViewModel, bool>> expression);
        Task UpdateAsync(string code, TmtnRepairOrderItemUpdateModel updateModel);
        Task<IEnumerable<TmtnRepairOrderItemViewModel>> GetConditionAsync(TmtnRepairOrderItemSearchModel searchModel);
        Task<TmtnRepairOrderItemDetailViewMode> GetRepairOrderItemAsync(string devId, string repairId);
        Task DeleteAsync(string code);
        Task CreateRepairOrderItemAsync(TmtnRepairOrderItemViewModel content);
        //Task<IEnumerable<TmtnRepairOrderItemWithImageViewModel>> GetRepairOrderItemWithImageAsync(TmtnRepairOrderItemSearchModel searchModel);
        //Task<IEnumerable<TmtnRepairOrderItemRecordDetailViewMode>> GetRecordsConditionAsync(TmtnRepairOrderItemRecordSearchModel searchModel);
    }
}