Beispiel #1
0
        public async Task <string> CreateAsync(TodoTaskEntity entity)
        {
            entity.Id = await generator.NextAsync();

            await store.Set(tasks => tasks.Append(entity));

            return(entity.Id);
        }
Beispiel #2
0
 public async Task Set(Func <IEnumerable <TodoTaskEntity>, IEnumerable <TodoTaskEntity> > setter)
 {
     await decoratee.Set(prev =>
     {
         var next = setter(prev).ToArray();
         foreach (var constraint in constraints)
         {
             constraint.ValidateAndThrow(next);
         }
         return(next);
     });
 }
Beispiel #3
0
        public async Task Set(Func <IEnumerable <TodoTaskEntity>, IEnumerable <TodoTaskEntity> > setter)
        {
            await semaphore.WaitAsync();

            try
            {
                await decoratee.Set(setter);
            }
            finally
            {
                semaphore.Release();
            }
        }