Exemplo n.º 1
0
        public async Task GetById()
        {
            var stub = new TestAggregateRoot("test");

            _readRepo.GetAsync(stub.Id).Returns(stub);

            var result = await _cachedRepo.GetAsync(stub.Id);

            result.Should().Be(stub);
            await _readRepo.Received(1).GetAsync(stub.Id);

            result = await _cachedRepo.GetAsync(stub.Id);

            result.Should().Be(stub);

            await _readRepo.Received(1).GetAsync(stub.Id);
        }
Exemplo n.º 2
0
        public async Task <ICommandResult> HandleAsync(CommandContext <RecipeUpdateCommand> ctx)
        {
            var recipe = await _read.GetAsync(ctx.Command.Id);

            recipe.Update(name: ctx.Command.Name, description: ctx.Command.Decription);
            await _save.UpdateAsync(recipe);

            return(ctx.Succeeded(recipe.Id));
        }
        public async Task <ICommandResult> HandleAsync(CommandContext <IngredientUpdateCommand> ctx)
        {
            var ingredient = await _read.GetAsync(ctx.Command.Id);

            ingredient.Update(name: ctx.Command.Name);
            await _save.UpdateAsync(ingredient);

            return(ctx.Succeeded(ingredient.Id));
        }
Exemplo n.º 4
0
        public async Task FindById()
        {
            var stub = Stubs[0];

            Read.GetAsync(stub.Id).Returns(stub);

            var query = new FindByIdQuery <TId>(stub.Id);

            var result = await FindByIdQueryHandler.FetchAsync(query);

            result.Should().NotBeNullOrEmpty();
            result.Should().HaveCount(1);
            result.Should().Contain(stub);

            await Read.Received().GetAsync(Arg.Is(stub.Id));
        }
Exemplo n.º 5
0
 public static Task <IPagedList <T> > GetAsync <T, TId>(this IRead <T, TId> read, IFilter <T> filter) where T : class, IAggregateRoot <TId> =>
 read.GetAsync(filter.ToSpecification(), filter.ToSorter(), filter.ToPagedInfo());
Exemplo n.º 6
0
 public static Task <IPagedList <T> > GetAsync <T, TId>(this IRead <T, TId> read, IList <TId> ids) where T : class, IAggregateRoot <TId> =>
 read.GetAsync(new FindByIdsSpecification <T, TId>(ids));
Exemplo n.º 7
0
 public virtual async Task <IQueryResult <TAggregateRoot> > FetchAsync(FindByIdQuery <TId> query) =>
 new QuerySingleResult <TAggregateRoot>(await Repo.GetAsync(query.Id));
Exemplo n.º 8
0
 public async Task <T> GetAsync(Guid key)
 {
     return(await reader.GetAsync(key));
 }
Exemplo n.º 9
0
 public Task <T> GetAsync(TId id) => _cacheManager.GetOrSetAsync(CacheKey(id), () => _read.GetAsync(id));