private void btnFixLot_Click(object sender, EventArgs e) { UnitOfWork uow = new UnitOfWork(); uow.BeginTransaction(); XPCollection<Item> items = new XPCollection<Item>(uow); items.Criteria = CriteriaOperator.Parse(string.Format("ItemType.ItemTypeName = 'Watch' || ItemType.ItemTypeName = 'CaseAssembly' || ItemType.ItemTypeName = 'BezelAssembly' ")); foreach (Item item in items) { item.IsConfirming = true; item.updateTimeStamp = false; if (item.Lot == null) { string LotNo = item.ItemName.Substring(0, 4); Lot lot = Lot.FindLot(uow, LotNo); if (lot == null) { lot = new Lot(uow); lot.LotNo = LotNo; lot.Save(); uow.CommitChanges(); } item.Lot = lot; item.Save(); } } uow.CommitChanges(); }
private Lot GetLot(string LotNo, UnitOfWork uow) { Lot lot = uow.FindObject<Lot>(new BinaryOperator("LotNo", LotNo)); if (lot == null) { lot = new Lot(uow); lot.LotNo = LotNo; lot.Customer = uow.FindObject<Customer>(new BinaryOperator("No", "S")); lot.Save(); } return lot; }