|  |  |  | 
|---|
|  |  |  | using System.Linq; | 
|---|
|  |  |  | using System.Text; | 
|---|
|  |  |  | using System.Threading.Tasks; | 
|---|
|  |  |  | using WIDESEA_Common.OrderEnum; | 
|---|
|  |  |  | using WIDESEA_Core; | 
|---|
|  |  |  | using WIDESEA_Core.BaseServices; | 
|---|
|  |  |  | using WIDESEA_Core.Enums; | 
|---|
|  |  |  | 
|---|
|  |  |  | public PurchaseOrderDetailService(IPurchaseOrderDetailRepository BaseDal) : base(BaseDal) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public WebResponseContent GetPurchaseOrderDetailMaterielCode(int warehouseId) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.QueryData(x => x.WarehouseId == warehouseId && x.PurchaseDetailStatus != PurchaseOrderDetailStatusEnum.Received.ObjToInt() && x.PurchaseDetailStatus != PurchaseOrderDetailStatusEnum.Closed.ObjToInt()); | 
|---|
|  |  |  | List<string> MaterielCodes = purchaseOrderDetails.Select(x => x.MaterielCode).ToList(); | 
|---|
|  |  |  | MaterielCodes = MaterielCodes.Distinct().ToList(); | 
|---|
|  |  |  | return WebResponseContent.Instance.OK(data: MaterielCodes); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception ex) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error(ex.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public WebResponseContent GetPurchaseOrderNos(string materielCode) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.QueryData(x => x.MaterielCode == materielCode && x.PurchaseDetailStatus != PurchaseOrderDetailStatusEnum.Received.ObjToInt()&& x.PurchaseDetailStatus!=PurchaseOrderDetailStatusEnum.Closed.ObjToInt()); | 
|---|
|  |  |  | List<int> PurchaseOrderIds = purchaseOrderDetails.Select(x => x.PurchaseOrderId).ToList(); | 
|---|
|  |  |  | List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => PurchaseOrderIds.Contains(x.Id)).ToList(); | 
|---|
|  |  |  | List<string> PurchaseOrderNos = purchaseOrders.Select(x => x.PurchaseOrderNo).ToList(); | 
|---|
|  |  |  | return WebResponseContent.Instance.OK(data: PurchaseOrderNos); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception ex) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error(ex.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public WebResponseContent GetOrderQuantity(string purchaseOrderNo) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == purchaseOrderNo).ToList(); | 
|---|
|  |  |  | List<float> orderQuantity = purchaseOrders.Select(x => x.OrderQuantity).ToList(); | 
|---|
|  |  |  | return WebResponseContent.Instance.OK(data: orderQuantity); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception ex) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error(ex.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public WebResponseContent GetOrderMaterielSpec(string purchaseOrderNo, string materielCode) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == purchaseOrderNo).ToList(); | 
|---|
|  |  |  | List<int> purchaseOrderIds = purchaseOrders.Select(x => x.Id).ToList(); | 
|---|
|  |  |  | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.Db.Queryable<Dt_PurchaseOrderDetail>() | 
|---|
|  |  |  | .Where(x => purchaseOrderIds.Contains(x.PurchaseOrderId)&& x.MaterielCode == materielCode).ToList(); | 
|---|
|  |  |  | List<string> materielSpec = purchaseOrderDetails.Select(x => x.MaterielSpec).ToList(); | 
|---|
|  |  |  | return WebResponseContent.Instance.OK(data: materielSpec); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception ex) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error(ex.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|