protected bool Equals(DepartmentPurchaseOrderDetailPK entity) { if (entity == null) return false; if (!base.Equals(entity)) return false; return true; }
private object LoadBarcode() { if (ObjectUtility.LengthEqual(Barcode, 12)) { IEnumerable enumerable = DepartmentPurchaseOrderLogic.ProcessBarcode(Barcode); IEnumerator enumerator = enumerable.GetEnumerator(); enumerator.MoveNext(); Product product = (Product)enumerator.Current; DepartmentPurchaseOrderDetail detail = new DepartmentPurchaseOrderDetail { DelFlg = 0, CreateDate = DateTime.Now, CreateId = "admin", UpdateDate = DateTime.Now, UpdateId = "admin", ExclusiveKey = 1, Product = product, ProductMaster = product.ProductMaster, DepartmentPurchaseOrder = DepartmentPurchaseOrder, Quantity = 1 }; if (product.AdhocCase > 0) detail.AdhocCase = product.AdhocCase; long maxId = 0; if (PurchaseOrderDetails.Count > 0) { maxId = PurchaseOrderDetails.OfType<DepartmentPurchaseOrderDetail>().Max( det => det.DepartmentPurchaseOrderDetailPK.PurchaseOrderDetailId); } DepartmentPurchaseOrderDetailPK pk = new DepartmentPurchaseOrderDetailPK { DepartmentId = 1, PurchaseOrderDetailId = ++maxId, PurchaseOrderId = DepartmentPurchaseOrder.DepartmentPurchaseOrderPK.PurchaseOrderId }; detail.DepartmentPurchaseOrderDetailPK = pk; var detailList = new ArrayList(PurchaseOrderDetails); DepartmentPurchaseOrderDetail current = detailList.OfType<DepartmentPurchaseOrderDetail>().FirstOrDefault( det => det.Product.ProductId.Equals(detail.Product.ProductId)); if (current != null) { current.Quantity += 1; } else { enumerator.MoveNext(); detail.Price = ((MainPrice)enumerator.Current).Price; detailList.Add(detail); } PurchaseOrderDetails = detailList; CalculatePrice(); Barcode = ""; } return null; }