示例#1
0
        protected virtual void InsertLocationLock(int?locationId, bool excluded = false)
        {
            if (locationId == null && excluded == true)
            {
                throw new PXArgumentException(nameof(excluded));
            }
            var loc = new INPIStatusLoc
            {
                SiteID     = _siteId,
                PIID       = _piId,
                LocationID = locationId,
                Excluded   = excluded,
            };

            _inPIStatusLocation.Insert(loc);
        }
示例#2
0
        public virtual void UnlockInventory(bool deleteLock = true)
        {
            _inPIStatusItem.Cache.Clear();
            foreach (PXResult <INPIStatusItem> it in PXSelect <INPIStatusItem,
                                                               Where <INPIStatusItem.pIID, Equal <Required <INPIStatusItem.pIID> > > > .Select(_graph, _piId))
            {
                if (deleteLock)
                {
                    _inPIStatusItem.Delete(it);
                }
                else
                {
                    INPIStatusItem upd = PXCache <INPIStatusItem> .CreateCopy(it);

                    upd.Active = false;
                    _inPIStatusItem.Update(upd);
                }
            }

            _inPIStatusLocation.Cache.Clear();
            foreach (PXResult <INPIStatusLoc> it in PXSelect <INPIStatusLoc,
                                                              Where <INPIStatusLoc.pIID, Equal <Required <INPIStatusLoc.pIID> > > > .Select(_graph, _piId))
            {
                if (deleteLock)
                {
                    _inPIStatusLocation.Delete(it);
                }
                else
                {
                    INPIStatusLoc upd = PXCache <INPIStatusLoc> .CreateCopy(it);

                    upd.Active = false;
                    _inPIStatusLocation.Update(upd);
                }
            }
        }