using Ropin.Inspection.Common.Helper;
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 ITsysMessageService : IBaseService<TsysMessageViewModel>, IBaseServiceById<TsysMessageViewModel, string>
    {
        Task<IEnumerable<TsysMessageViewModel>> GetAllAsync();
        Task<IEnumerable<TsysMessageViewModel>> GetByConditionAsync(Expression<Func<TsysMessageViewModel, bool>> expression);
        Task UpdateAsync(string id, TsysMessageUpdateModel updateModel);
        Task UpdateMsgStatusAsync(string id, int msgStatus);
        Task<IEnumerable<TsysMessageViewModel>> GetConditionAsync(TsysMessageSearchModel searchModel);
        Task<IEnumerable<TsysMessageModel>> GetConditionScreenAsync(TsysMessageSearchModel searchModel);
        Task<bool> AddMessage(AlmRecordOutput almRecord);
    }
}