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); }
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)); }
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)); }
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());
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));
public virtual async Task <IQueryResult <TAggregateRoot> > FetchAsync(FindByIdQuery <TId> query) => new QuerySingleResult <TAggregateRoot>(await Repo.GetAsync(query.Id));
public async Task <T> GetAsync(Guid key) { return(await reader.GetAsync(key)); }
public Task <T> GetAsync(TId id) => _cacheManager.GetOrSetAsync(CacheKey(id), () => _read.GetAsync(id));