using Org.BouncyCastle.Crypto; using SqlSugar; using SqlSugar.Extensions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Common.LocationEnum; using WIDESEA_Common.StockEnum; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.Enums; using WIDESEA_DTO.Stock; using WIDESEA_IBasicRepository; using WIDESEA_IStockRepository; using WIDESEA_Model.Models; namespace WIDESEA_StockRepository { public class StockInfoRepository : RepositoryBase, IStockInfoRepository { public StockInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) { } public Dt_StockInfo GetStockInfo(string palletCode) { return Db.Queryable().Where(x => x.PalletCode == palletCode).First(); } public List GetStockInfos(string materielCode) { return Db.Queryable().Where(x => x.MaterielCode == materielCode).ToList(); } public List GetStockInfos(string materielCode, string lotNo, List locationCodes) { List stockInfos = null; if (!string.IsNullOrEmpty(lotNo)) { var stockSort = Db.Queryable().Where(x => locationCodes.Contains(x.LocationCode) && x.MaterielCode == materielCode && x.BatchNo == lotNo).ToList(); } else { var stockSort = Db.Queryable().Where(x => locationCodes.Contains(x.LocationCode) && x.MaterielCode == materielCode).ToList(); } return stockInfos; } public List GetStockInfosByIds(List ids) { return Db.Queryable().Where(x => ids.Contains(x.Id)).ToList(); } public List GetStockInfosByPalletCodes(List palletCodes) { return Db.Queryable().Where(x => palletCodes.Contains(x.PalletCode)).ToList(); } public List GetStockInfosExclude(string materielCode, List palletCodes) { return Db.Queryable().Where(x => !palletCodes.Contains(x.PalletCode) && x.MaterielCode == materielCode).ToList(); } } }