public async Task <bool> UpdateIncAsync(Expression <Func <TEntity, bool> > filter, Dictionary <Expression <Func <TEntity, object> >, object> updates) { var ups = updates.Select(upitem => Builders <TEntity> .Update.Inc(upitem.Key, upitem.Value)).ToList(); var x = await PrimaryMongoCollection.UpdateManyAsync(SoftFilter(filter), Builders <TEntity> .Update.Combine(ups)); return(x.IsAcknowledged); }
public virtual void Insert(TEntity entity) { if (EntityDescribe.BusinessPrimaryKeyAttribute != null) { var value = _businessPrimaryKeyGen.Gen(EntityDescribe.BusinessPrimaryKeyAttribute.BusinessPrimaryKeyType); EntityDescribe.BusinessPrimaryKeyAttribute.KeyDescriptor.SetValue(entity, value); } PrimaryMongoCollection.InsertOne(entity); }
public virtual Task InsertAsync(TEntity entity) { if (EntityDescribe.BusinessPrimaryKeyAttribute != null) { var value = _businessPrimaryKeyGen.Gen(EntityDescribe.BusinessPrimaryKeyAttribute.BusinessPrimaryKeyType); EntityDescribe.BusinessPrimaryKeyAttribute.KeyDescriptor.SetValue(entity, value); } return(PrimaryMongoCollection.InsertOneAsync(entity)); }
public virtual TEntity FindOneAndUpdateInc(Expression <Func <TEntity, bool> > filter, Dictionary <Expression <Func <TEntity, object> >, object> updates) { var ups = updates.Select(upitem => Builders <TEntity> .Update.Inc(upitem.Key, upitem.Value)).ToList(); var options = new FindOneAndUpdateOptions <TEntity, TEntity> { ReturnDocument = ReturnDocument.After }; return(PrimaryMongoCollection.FindOneAndUpdate(SoftFilter(filter), Builders <TEntity> .Update.Combine(ups), options: options)); }
public virtual Task InsertAsync(IEnumerable <TEntity> entities) { if (EntityDescribe.BusinessPrimaryKeyAttribute != null) { foreach (var entity in entities) { var value = _businessPrimaryKeyGen.Gen(EntityDescribe.BusinessPrimaryKeyAttribute.BusinessPrimaryKeyType); EntityDescribe.BusinessPrimaryKeyAttribute.KeyDescriptor.SetValue(entity, value); } } return(PrimaryMongoCollection.InsertManyAsync(entities)); }
public virtual async Task <bool> DeleteAsync(Expression <Func <TEntity, bool> > filter) { if (SoftDelete) { var x = await PrimaryMongoCollection.UpdateManyAsync(filter, Builders <TEntity> .Update.Set(i => ((ISoftDelete)i).IsDeleted, true)); return(x.IsAcknowledged); } else { var x = await PrimaryMongoCollection.DeleteManyAsync(filter); return(x.IsAcknowledged); } }
public virtual bool Update(Expression <Func <TEntity, bool> > filter, Dictionary <Expression <Func <TEntity, object> >, object> updates) { var ups = updates.Select(upitem => Builders <TEntity> .Update.Set(upitem.Key, upitem.Value)).ToList(); return(PrimaryMongoCollection.UpdateMany(SoftFilter(filter), Builders <TEntity> .Update.Combine(ups)).IsAcknowledged); }
public virtual async Task <bool> ReplaceAsync(TEntity entity) { var x = await PrimaryMongoCollection.ReplaceOneAsync(CreateEqualityExpressionForId(entity.Id), entity); return(x.IsAcknowledged); }
public virtual bool Replace(TEntity entity) { return(PrimaryMongoCollection.ReplaceOne(CreateEqualityExpressionForId(entity.Id), entity).IsAcknowledged); }
public virtual async Task <TEntity> FindOneAndDeleteAsync(Expression <Func <TEntity, bool> > filter) { return(await PrimaryMongoCollection.FindOneAndDeleteAsync(SoftFilter(filter))); }
public virtual TEntity FindOneAndDelete(Expression <Func <TEntity, bool> > filter) { return(PrimaryMongoCollection.FindOneAndDelete(SoftFilter(filter))); }
public virtual TEntity FindOneAndReplace(Expression <Func <TEntity, bool> > filter, TEntity entity) { return(PrimaryMongoCollection.FindOneAndReplace(SoftFilter(filter), entity)); }
public virtual async Task <TEntity> FindOneAndUpdateAsync(Expression <Func <TEntity, bool> > filter, Dictionary <Expression <Func <TEntity, object> >, object> updates) { var ups = updates.Select(upitem => Builders <TEntity> .Update.Set(upitem.Key, upitem.Value)).ToList(); return(await PrimaryMongoCollection.FindOneAndUpdateAsync(SoftFilter(filter), Builders <TEntity> .Update.Combine(ups))); }
public virtual bool Delete(Expression <Func <TEntity, bool> > filter) { return(SoftDelete ? PrimaryMongoCollection.UpdateMany(filter, Builders <TEntity> .Update.Set(i => ((ISoftDelete)i).IsDeleted, true)).IsAcknowledged : PrimaryMongoCollection.DeleteMany(filter).IsAcknowledged); }
public virtual bool Remove(Expression <Func <TEntity, bool> > filter) { return(PrimaryMongoCollection.DeleteMany(filter).IsAcknowledged); }