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 ITprdProductService : IBaseService<TprdProductViewModel>, IBaseServiceById<TprdProductViewModel, Guid> { Task<TprdProductViewModel> GetAlertProductByCodeAsync(Guid code); Task<TprdProductViewModel> GetValiDateProductByCodeAsync(Guid code); Task<IEnumerable<TprdDeviceByAreaViewModel>> GetDeviceByAreaCode(TprdDeviceByAreaSearchModel searchModel); Task<IEnumerable<AllProductWithDevViewModel>> GetProductWithDataByAsync(TprdProductWithDataSearchModel searchModel); Task<TprdProductViewModel> GetProductByQRCodeAsync(string QRCode, string storeCode); Task<IEnumerable<TprdProductViewModel>> GetAllAsync(); Task<IEnumerable<TprdProductViewModel>> GetByConditionAsync(Expression<Func<TprdProductViewModel, bool>> expression); Task UpdateAsync(Guid id, TprdProductUpdateModel updateModel); Task<IEnumerable<TprdProductViewModel>> GetConditionAsync(TprdProductSearchModel searchModel); Task<int> GetDeviceCountByAsync(string storeCode); Task<int> GetAlertDeviceCountByAsync(string storeCode); Task<IEnumerable<TprdProductViewModel>> GetAlertProductsByAsync(string storeCode); Task<IEnumerable<TprdProductViewModel>> GetValiDateProductsByAsync(string storeCode); } }