using LinqKit;
using Ropin.Inspection.Model;
using Ropin.Inspection.Model.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ropin.Inspection.Repository
{
    public interface ITdevDevStoreRepository : IRepositoryBase<TDEV_DevStore>, IRepositoryBaseById<TDEV_DevStore, string>
    {
        Task<TdevDevStoreDetailViewModel> GetDevStoreByQRCodeAsync(string qRCode, string storeCode);
        Task<TsysUserViewModel> GetUserByDevStoreIdAndRoleNameAsync(string devStoreId, string roleName);
        Task<int> UpdateDevStoreStatus(string devId, string status);
        Task<IEnumerable<TdevDevStoreViewModel>> GetConditionAsync(TdevDevStoreSearchModel searchModel, string userLicenseTypeCode, string ApiUserId);
        Task<IEnumerable<DevStoreStatusGroup>> GetDevStoreStatusCount(TdevDevStoreSearchModel searchModel, string userLicenseTypeCode, string ApiUserId);
    }
}