示例#1
0
        public async Task UpdateAsync(Bson.ObjectId id, UpdateDefinition <T> update)
        {
            var collection = _db.GetCollection <T>(_collectioname);
            var filter     = Builders <T> .Filter.Eq("Id", id);

            update = update.CurrentDate("UpdateDateTime");
            var result = await collection.UpdateOneAsync(filter, update);
        }
示例#2
0
        public void Update(Bson.ObjectId id, UpdateDefinition <T> update)
        {
            var collection = _db.GetCollection <T>(_collectioname);
            var filter     = Builders <T> .Filter.Eq("Id", id);

            //var update = Builders<T>.Update.Set("Price", "100").CurrentDate("UpdateDateTime");
            update = update.CurrentDate("UpdateDateTime");
            var result = collection.UpdateOne(filter, update);
        }
示例#3
0
        private async Task <IActionResult> UpdateRpgModel(string id, UpdateDefinition <FiveEModel> updateMethod, dynamic returnData)
        {
            var collection = MongoDb.GetCollection <FiveEModel>("RpgCharModels");
            var stringId   = id.ToString();

            updateMethod = updateMethod.CurrentDate(s => s._lastUpdated);
            try
            {
                await collection.UpdateOneAsync(filter => filter.Id == stringId, updateMethod);
            }
            catch (System.Exception e)
            {
                throw e;
            }

            return(Ok(returnData));
        }
        /// <summary>
        /// Update the workflow. The only things that can be updated are name and description
        /// </summary>
        /// <param name="id"></param>
        /// <param name="version"></param>
        /// <param name="action"></param>
        /// <exception cref="NotImplementedException"></exception>
        public void Update(Guid id, int version, Action <ProcessDefinitionPersistenceBase> action, AccountData[] accounts = null)
        {
            UpdateProcessDefPersistence u = new UpdateProcessDefPersistence();

            action(u);
            var filter = Builders <ProcessDefinitionPersistence> .Filter.And(
                Builders <ProcessDefinitionPersistence> .Filter.Eq(r => r.Id, id),
                Builders <ProcessDefinitionPersistence> .Filter.Eq(r => r.Version, version)
                );

            UpdateDefinition <ProcessDefinitionPersistence> updatedef = null;

            if (u.NameSet)
            {
                updatedef = Builders <ProcessDefinitionPersistence> .Update.Set(r => r.Name, u.Name);
            }
            if (u.DescriptionSet)
            {
                if (updatedef == null)
                {
                    updatedef = Builders <ProcessDefinitionPersistence> .Update.Set(r => r.Description, u.Description);
                }
                else
                {
                    updatedef.Set(r => r.Description, u.Description);
                }
            }
            if (accounts != null)
            {
                if (updatedef == null)
                {
                    updatedef = Builders <ProcessDefinitionPersistence> .Update.Set(r => r.Accounts, new List <AccountData>(accounts));
                }
                else
                {
                    updatedef.Set(r => r.Accounts, new List <AccountData>(accounts));
                }
            }
            updatedef = updatedef?.CurrentDate(r => r.LastModified);
            if (updatedef == null)
            {
                return;
            }
            _collection.FindOneAndUpdate(filter, updatedef);
        }
示例#5
0
 public bool Update(FilterDefinition <T> filter, UpdateDefinition <T> update, UpdateOptions updateOptions = null)
 {
     return(Collection.UpdateMany(filter, update.CurrentDate(i => i.ModifiedOn), updateOptions).ModifiedCount > 0);
 }