private void CreateWoIssueByDetail(woPoTotal wpTotal, Session session) { XPCollection<SalesOrderLine> soLines = new XPCollection<SalesOrderLine>(session); soLines.Criteria = CriteriaOperator.Parse(string.Format("Item.Oid == '{0}' AND OrderStatus = '{1}' ", wpTotal.Item.Oid, SalesOrderLine.SalesOrderStatus.Active)); SortingCollection sCollection = new SortingCollection(); sCollection.Add(new SortProperty("PoDate", DevExpress.Xpo.DB.SortingDirection.Descending)); sCollection.Add(new SortProperty("LineNo", DevExpress.Xpo.DB.SortingDirection.Descending)); soLines.Sorting = sCollection; float remainQty = wpTotal.Wo_Po * -1; woIssue woIssue; foreach (SalesOrderLine soLine in soLines) { woIssue = new woIssue(); woIssue.Item = soLine.Item; woIssue.WoNeedDate = soLine.NeedDate; if (soLine.NeedQty > remainQty) { woIssue.WoNeedQty = remainQty; remainQty = 0; } else { woIssue.WoNeedQty = soLine.NeedQty; remainQty = remainQty - soLine.NeedQty; } woIssue.SalesOrderLine = soLine; _woIssues.Add(woIssue); if (remainQty == 0) return; } woIssue = new woIssue(); woIssue.Item = wpTotal.Item; woIssue.WoNeedDate = DateTime.Today.AddDays(woIssue.Item.LeadTime); woIssue.WoNeedQty = remainQty; _woIssues.Add(woIssue); }
private void CreateWoIssue(woPoTotal wpTotal) { woIssue woIssue = new woIssue(); woIssue.Item = wpTotal.Item; woIssue.WoNeedDate = DateTime.Today.AddDays(woIssue.Item.LeadTime); woIssue.WoNeedQty = wpTotal.Wo_Po * -1; _woIssues.Add(woIssue); }