public async Task <Guid> IssueCommand(ValuesModel valuesModel) { MessageBase command; switch (valuesModel.Operation) { case ServiceOperation.FindArticleWithAllTagsMatching: command = new FindArticleWithAllTagsMatching(valuesModel.Articles, valuesModel.Tags); break; case ServiceOperation.FindArticleWithSomeTagsMatching: command = new FindArticleWithSomeTagsMatching(valuesModel.Articles, valuesModel.Tags); break; default: throw new InvalidServiceOperation(); } await valuesSummerQueue.Send(command); return(command.ConsistencyToken); }
public IEnumerable <string> Consume(FindArticleWithSomeTagsMatching message) => message.Articles.Select(a => a.id);