public ReceivingNoteItem[] getReceivingNoteDetail(GetReceivingNoteDetailRequest request) { DetachedCriteria criteria = DetachedCriteria.For<ReceiptDetail>(); criteria.Add(Expression.Eq("ReceiptNo",request.receivingNo)); IList<ReceiptDetail> reciptDetailList = TheCriteriaMgr.FindAll<ReceiptDetail>(criteria); List<ReceivingNoteItem> receivingNoteItemList = new List<ReceivingNoteItem>(); foreach (ReceiptDetail receiptDetail in reciptDetailList) { ReceivingNoteItem item = new ReceivingNoteItem(); //set unit of messure UOM uom = new UOM(); uom.id = receiptDetail.OrderLocationTransaction.Item.Uom.Code; uom.abbreviation = receiptDetail.OrderLocationTransaction.Item.Uom.Name; uom.description = receiptDetail.OrderLocationTransaction.Item.Uom.Name; //set supplier Item Material suppItem = new Material(); suppItem.id = receiptDetail.OrderLocationTransaction.OrderDetail.ReferenceItemCode; suppItem.no = receiptDetail.OrderLocationTransaction.OrderDetail.ReferenceItemCode; suppItem.description = receiptDetail.OrderLocationTransaction.OrderDetail.ReferenceItemCode; suppItem.quantityUOM = uom; //set Item Material material = new Material(); material.id = receiptDetail.OrderLocationTransaction.Item.Code; material.no = receiptDetail.OrderLocationTransaction.Item.Code; material.name = receiptDetail.OrderLocationTransaction.Item.Description; material.description = receiptDetail.OrderLocationTransaction.Item.Description; material.quantityUOM = uom; item.material = material; item.receiveQuantity = Convert.ToDouble(receiptDetail.ReceivedQty); item.receiveQuantitySpecified = true; //不知道怎么取 item.totalBillingQuantity = Convert.ToDouble(receiptDetail.ReceivedQty); item.totalBillingQuantitySpecified = true; item.billingStatus = string.Empty; item.unitCount = Convert.ToDouble(receiptDetail.OrderLocationTransaction.OrderDetail.UnitCount); item.unitCountSpecified = true; } return null; }
public int getReceivingNoteDetailCount(GetReceivingNoteDetailRequest requset) { DetachedCriteria criteria = DetachedCriteria.For<ReceiptDetail>().SetProjection(Projections.ProjectionList() .Add(Projections.Count("ReceiptNo"))); IList list = TheCriteriaMgr.FindAll(criteria); int count = 0; if (list != null && list.Count > 0) { if (list[0] is int) { count = int.Parse(list[0].ToString()); } } return count; }