示例#1
0
        public void Trash(Bean bean)
        {
            EnsureDispensed(bean);

            if (bean.GetKey(_keyAccess) == null)
            {
                return;
            }

            ImplicitTransaction(() =>
            {
                bean.BeforeTrash();

                foreach (var observer in _observers)
                {
                    observer.BeforeTrash(bean);
                }

                _storage.Trash(bean.GetKind(), bean.GetKey(_keyAccess));

                bean.AfterTrash();

                foreach (var observer in _observers)
                {
                    observer.AfterTrash(bean);
                }

                return(true);
            });
        }