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 ITprdProductRepository : IRepositoryBase<TPRD_Product>, IRepositoryBaseById<TPRD_Product, Guid>
    {
        Task<TprdProductViewModel> GetAlertProductByCodeAsync(Guid code);
        Task<TprdProductViewModel> GetValiDateProductByCodeAsync(Guid code);
        Task<IEnumerable<TprdProductViewModel>> GetAlertProductsByAsync(string storeCode);
        Task<IEnumerable<TprdProductViewModel>> GetValiDateProductsByAsync(string storeCode);
        IEnumerable<TprdDeviceByAreaViewModel> GetDeviceByAreaCode(TprdDeviceByAreaSearchModel searchModel);
        Task<TprdProductViewModel> GetProductByQRCodeAsync(string QRCode, string storeCode);
        Task<IEnumerable<AllProductWithDevViewModel>> GetProductWithDataByAsync(TprdProductWithDataSearchModel searchModel);
    }
}