public async Task SaveAsync(InternalMessageModel internalMessageModel) { InternalMessageEntity internalMessageEntity = _mapper.Map <InternalMessageEntity>(internalMessageModel); await _collection.DeleteOneAsync((x) => x.TransactionHash == internalMessageEntity.TransactionHash && x.MessageIndex == internalMessageModel.MessageIndex); await _collection.InsertOneAsync(internalMessageEntity); }
public async Task SaveManyForBlockAsync(IEnumerable <InternalMessageModel> internalMessages, ulong blockNumber) { if (internalMessages.Count() == 0) { await _collection.DeleteManyAsync((x) => x.BlockNumber == blockNumber); return; } var entities = new List <InternalMessageEntity>(internalMessages.Count()); foreach (var internalMessage in internalMessages) { InternalMessageEntity internalMessageEntity = _mapper.Map <InternalMessageEntity>(internalMessage); entities.Add(internalMessageEntity); } await _collection.DeleteManyAsync(x => x.BlockNumber == blockNumber); await _collection.InsertManyAsync(entities); }