Exemple #1
0
        internal bool DeleteObject(string key)
        {
            if (String.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException(nameof(key));
            }

            Obj obj = GetObjectMetadata(key);

            if (obj == null)
            {
                _Logging.Debug("Delete unable to find key " + _Bucket.Name + "/" + key);
                return(false);
            }

            if (_Bucket.EnableVersioning)
            {
                _Logging.Info("Delete marking key " + _Bucket.Name + "/" + key + " as deleted");
                obj.DeleteMarker = true;
                _ORM.Update <Obj>(obj);
                return(true);
            }
            else
            {
                _Logging.Info("Delete deleting key " + _Bucket.Name + "/" + key);
                _ORM.Delete <Obj>(obj);
                _StorageDriver.Delete(obj.BlobFilename);
                return(true);
            }
        }