public void AttachPeopleAtRiskToRiskAssessment(AttachPeopleAtRiskToRiskAssessmentRequest request)
        {
            _log.Add(request);

            var user = _userForAuditingRepository.GetByIdAndCompanyId(request.UserId, request.CompanyId);
            var riskAssessment = _fireRiskAssessmentRepository.GetByIdAndCompanyId(request.RiskAssessmentId, request.CompanyId);

            var peopleAtRisk = _peopleAtRiskRepository.GetByIds(request.PeopleAtRiskIds);

            riskAssessment.AttachPeopleAtRiskToRiskAssessment(peopleAtRisk, user);

            _fireRiskAssessmentRepository.SaveOrUpdate(riskAssessment);

        }
        public void Given_valid_request_When_AttachPeopleAtRisk_is_called_Then_should_call_appropiate_methods()
        {
            //Given
            var riskAssessmentService = CreateRiskAssessmentService();
            var attachPeopleAtRiskToRiskAssessmentRequest = new AttachPeopleAtRiskToRiskAssessmentRequest()
                                           {
                                               PeopleAtRiskIds = new List<long> { 1, 2, 3 },
                                               RiskAssessmentId = 2,
                                               CompanyId = 1,
                                               UserId = Guid.NewGuid()
                                           };

            var mockRiskAssessment = new Mock<GeneralRiskAssessment>();
            _riskAssessmentRepository
                .Setup(rr => rr.GetByIdAndCompanyId(attachPeopleAtRiskToRiskAssessmentRequest.RiskAssessmentId, attachPeopleAtRiskToRiskAssessmentRequest.CompanyId))
                .Returns(mockRiskAssessment.Object);

            var peopleAtRisks = new List<PeopleAtRisk>()
                              {
                                  new PeopleAtRisk(),
                                  new PeopleAtRisk(),
                                  new PeopleAtRisk()
                              };
            _peopleAtRiskRepository
                .Setup(x => x.GetByIds(attachPeopleAtRiskToRiskAssessmentRequest.PeopleAtRiskIds))
                .Returns(peopleAtRisks);

            _userRepository
                .Setup(x => x.GetByIdAndCompanyId(attachPeopleAtRiskToRiskAssessmentRequest.UserId, attachPeopleAtRiskToRiskAssessmentRequest.CompanyId))
                .Returns(_user);

            //When
            riskAssessmentService.AttachPeopleAtRiskToRiskAssessment(attachPeopleAtRiskToRiskAssessmentRequest);

            //Then
            _riskAssessmentRepository.Verify(x => x.SaveOrUpdate(mockRiskAssessment.Object));
            _userRepository.Verify(x => x.GetByIdAndCompanyId(attachPeopleAtRiskToRiskAssessmentRequest.UserId, attachPeopleAtRiskToRiskAssessmentRequest.CompanyId));
            mockRiskAssessment.Verify(x => x.AttachPeopleAtRiskToRiskAssessment(peopleAtRisks, _user));
        }