protected override void DeleteDomainObjects(ArrayList domainObjects)
        {
            WarehouseFacade _WarehouseFacade = new WarehouseFacade(base.DataProvider);


            InventoryFacade _InventoryFacade = new InventoryFacade(this.DataProvider);


            object       objStorloctrans = _WarehouseFacade.GetStorloctrans(txtTransNoQuery.Text);
            Storloctrans storloctrans    = objStorloctrans as Storloctrans;

            if (storloctrans == null)
            {
                WebInfoPublish.Publish(this, txtTransNoQuery.Text + "转储单不存在!", this.languageComponent1);
                return;
            }

            if (storloctrans.Status == "Close")
            {
                WebInfoPublish.Publish(this, "转储单已关闭不能删除!", this.languageComponent1);
                return;
            }
            ArrayList array = this.gridHelper.GetCheckedRows();

            DBDateTime dbDateTime = FormatHelper.GetNowDBDateTime(DataProvider);
            int        mDate      = dbDateTime.DBDate;
            int        mTime      = dbDateTime.DBTime;

            foreach (GridRecord row in array)
            {
                string transno      = storloctrans.Transno;
                string fromCartonno = row.Items.FindItemByKey("FCartonNo").Text;
                string cartonno     = row.Items.FindItemByKey("TCartonNo").Text;
                StorloctransDetailCarton storCartonno = (StorloctransDetailCarton)_WarehouseFacade.GetStorloctransdetailcarton(transno, fromCartonno, cartonno);

                if (storCartonno != null)
                {
                    _WarehouseFacade.DeleteStorloctransdetailcarton(storCartonno);

                    StorageDetail stor = (StorageDetail)_WarehouseFacade.GetStorageDetail(fromCartonno);
                    if (stor != null)
                    {
                        stor.FreezeQty    = stor.FreezeQty - (int)storCartonno.Qty;
                        stor.AvailableQty = stor.AvailableQty + (int)storCartonno.Qty;
                        _WarehouseFacade.UpdateStorageDetail(stor);
                    }

                    object[] objs = _WarehouseFacade.GetStorageDetailSnbyCartonNoBlock(fromCartonno);
                    if (objs != null && objs.Length > 0)
                    {
                        foreach (StorageDetailSN storageDetailSN in objs)
                        {
                            storageDetailSN.PickBlock    = "N";
                            storageDetailSN.MaintainUser = GetUserCode();
                            storageDetailSN.MaintainDate = mDate;
                            storageDetailSN.MaintainTime = mTime;
                            _InventoryFacade.UpdateStorageDetailSN(storageDetailSN);
                        }
                    }

                    StorloctransDetailSN[] storSns = _WarehouseFacade.GetStorloctransDetailSNs(transno, fromCartonno);
                    foreach (StorloctransDetailSN sn in storSns)
                    {
                        _WarehouseFacade.DeleteStorloctransdetailsn(sn);
                    }

                    if (storCartonno.Qty != 0)
                    {
                        StorloctransDetail cartonnoDetail = (StorloctransDetail)_WarehouseFacade.GetStorloctransdetail(transno, storCartonno.MCode);
                        if (cartonnoDetail != null)
                        {
                            cartonnoDetail.Status       = "Pick";
                            cartonnoDetail.MaintainUser = GetUserCode();
                            cartonnoDetail.MaintainDate = mDate;
                            cartonnoDetail.MaintainTime = mTime;
                            _WarehouseFacade.UpdateStorloctransdetail(cartonnoDetail);
                        }
                    }
                }
            }
        }