public void AssignTo([Required] User user, [Required] IIssueAssignmentPolicy policy) { Check.NotNull(user, nameof(user)); Check.NotNull(policy, nameof(policy)); policy.CheckAssignment(this, user); AssignedUserId = user.Id; }
public IssueAppService(IIssueRepository issueRepository, IAsyncRepository <User> userRepository, IIssueAssignmentPolicy issueAssignmentPolicy, IValidationService validationService, IAppLogger <IssueAppService> logger, IUserEmailer userEmailer) { _issueRepository = issueRepository ?? throw new ArgumentNullException(nameof(issueRepository)); _userRepository = userRepository ?? throw new ArgumentNullException(nameof(userRepository)); _issueAssignmentPolicy = issueAssignmentPolicy ?? throw new ArgumentNullException(nameof(issueAssignmentPolicy)); _validationService = validationService ?? throw new ArgumentNullException(nameof(validationService)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _userEmailer = userEmailer ?? throw new ArgumentNullException(nameof(userEmailer)); AuthorizationService = NullAuthorizationService.Instance; SessionService = NullSessionService.Instance; }
public IssueManager(IIssueAssignmentPolicy issueAssignmentPolicy, IIssueRepository issueRepository) { _issueAssignmentPolicy = issueAssignmentPolicy; _issueRepository = issueRepository; }