/// <summary>
        /// Get the current published version for the given aggregate
        /// </summary>
        /// <param name="processorName"></param>
        /// <param name="aggregateRootTypeName"></param>
        /// <param name="aggregateRootId"></param>
        /// <returns></returns>
        public async Task <int> GetPublishedVersionAsync(string processorName, string aggregateRootTypeName, string aggregateRootId)
        {
            var db   = _connection.GetDatabase();
            var item = await db.HashGetAllAsync(GetPublishedVersionKey(processorName, aggregateRootId));

            if (item == null || item.Length < 2 ||
                item.First(f => f.Name == _typeField).Value != aggregateRootTypeName)
            {
                return(0);
            }
            var version = (int)item.First(f => f.Name == _verField).Value;

            return(version);
        }
Ejemplo n.º 2
0
 public UtilRepository(CatDbContext context, StackExchange.Redis.IConnectionMultiplexer connection) : base(context)
 {
     _database = connection.GetDatabase();
 }