using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; using WIDESEA_IInboundRepository; using WIDESEA_Model.Models; namespace WIDESEA_InboundRepository { public class InboundOrderRepository : RepositoryBase, IInboundOrderRepository { private readonly IUnitOfWorkManage _unitOfWorkManage; public InboundOrderRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) { _unitOfWorkManage = unitOfWorkManage; } public WebResponseContent GetInboundOrders(SaveModel saveModel) { WebResponseContent content = new WebResponseContent(); try { int pageNo = saveModel.MainData["pageNo"].ObjToInt(); string? orderNo = saveModel.MainData["orderNo"].ToString(); int warehouseId = saveModel.MainData["warehouseId"].ObjToInt(); List dt_ReceiveOrders = new List(); if (string.IsNullOrEmpty(orderNo)) { dt_ReceiveOrders = Db.Queryable().Where(x => x.OrderStatus < InboundStatusEnum.入库完成.ObjToInt() && x.WarehouseId == warehouseId).Includes(x => x.Details).OrderByDescending(x => x.CreateDate).ToPageList(pageNo, 10); } else { dt_ReceiveOrders = Db.Queryable().Where(x => (x.OrderNo.Contains(orderNo)) && x.OrderStatus < InboundStatusEnum.入库完成.ObjToInt() && x.WarehouseId == warehouseId).Includes(x => x.Details).OrderByDescending(x => x.CreateDate).ToPageList(pageNo, 10); } content.OK(data: dt_ReceiveOrders); } catch (Exception ex) { content.Error(ex.Message); } return content; } } }