public async Task Execute(FormDefinition form) { //There is no such requirement in the task. //I just want to show difference between repository and use-case. if (!await guard.CanCreateNewForms(requester)) { throw new System.UnauthorizedAccessException(); } await repository.CreateFormDefinition(form); }