public void OnActionExecuting(ActionExecutingContext context) { foreach (var argument in context.ActionArguments.Values.Where(v => v is AddUserToGroupRequest)) { AddUserToGroupRequest command = argument as AddUserToGroupRequest; if (command.Role == Role.Admin) { _groupValidationService.RequireAuthorizedUserIsGroupAdmin(command.GroupId); } _groupValidationService.RequireUsernameIsNotGroupMember(command.Username, command.GroupId); } }