public async Task <CreateRequestOutputModel> Handle(CreateRequestCommand command, CancellationToken cancellationToken) { RequestFactory.WithCreatorReferenceId(command.CreatorReferenceId); foreach (var item in command.Items) { Recipe recipe = await RecipeRepository.GetRecipeById(item.RecipeId, cancellationToken); RequestFactory.WithItem(recipe, item.Note); } Request newRequest = RequestFactory.Build(); await RequestRepository.Save(newRequest, cancellationToken); return(new CreateRequestOutputModel(newRequest.Id)); }