public void MarkNonEmployeeAsDeleted(MarkNonEmployeeAsDeletedRequest request)
        {
            _log.Add(request);

            try
            {
                var user = _userForAuditingRepository.GetByIdAndCompanyId(request.UserId, request.CompanyId);
                var nonEmployee = _nonEmployeeRepository.GetByIdAndCompanyId(request.NonEmployeeId, request.CompanyId);
                nonEmployee.MarkForDelete(user);

                _nonEmployeeRepository.SaveOrUpdate(nonEmployee);
            }
            catch (Exception ex)
            {
                _log.Add(ex);
                throw;
            }
          

        }
        public void Given_that_request_is_valid_When_mark_non_employee_as_deleted_Then_should_call_correct_methods()
        {
            //Given
            var target = CreateNonEmployeeervice();

            var nonEmployee = new Mock<NonEmployee>();
            nonEmployee.Setup(x => x.MarkForDelete(_user));

            var request = new MarkNonEmployeeAsDeletedRequest(NonEmployeeId, CompanyId, Guid.NewGuid());
            _nonEmployeeRepository
                .Setup(x => x.GetByIdAndCompanyId(request.NonEmployeeId, request.CompanyId))
                .Returns(nonEmployee.Object);

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

            //When
            target.MarkNonEmployeeAsDeleted(request);

            //Then
            nonEmployee.VerifyAll();
            _nonEmployeeRepository.Verify(x => x.SaveOrUpdate(It.IsAny<NonEmployee>()));
        }