Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }