public void Given_an_employee_is_a_persons_seen_to_be_removed_when_RemovePersonsSeenNotInList_then_removed_from_persons_seen_list()
        {
            //GIVEN
            var personSeen1 = ChecklistPersonSeen.Create(Guid.NewGuid(), "Diana Smith", "*****@*****.**");
            var personSeen2 = ChecklistPersonSeen.Create(Guid.NewGuid(), "Petyr Littlefinger", "*****@*****.**");
            var personSeenEmployee = ChecklistPersonSeen.Create(new Employee() { Id = Guid.NewGuid() });
            var checklist = new BusinessSafe.Domain.Entities.SafeCheck.Checklist();

            checklist.AddPersonSeen(personSeen1);
            checklist.AddPersonSeen(personSeen2);
            checklist.AddPersonSeen(personSeenEmployee);

            //WHEN
            checklist.RemovePersonsSeenNotInList(new List<ChecklistPersonSeen>() { personSeen1, personSeen2 });

            //THEN
            Assert.That(checklist.PersonsSeen.Count, Is.EqualTo(2));

        }
        private void AddRemovePersonsSeen(Checklist checklist, List<PersonsSeenViewModel> personsSeen)
        {
            var checklistPersonsSeen = new List<ChecklistPersonSeen>();
            //add to checklist
            personsSeen.ForEach(x =>
            {
                ChecklistPersonSeen checklistPersonSeen = null;

                if (x.EmployeeId.HasValue && x.EmployeeId != Guid.Empty)
                {
                    var employee = _employeeRespository.GetById(x.EmployeeId.Value);
                    checklistPersonSeen = ChecklistPersonSeen.Create(employee);
                    checklistPersonSeen.EmailAddress = x.EmailAddress;
                }
                else
                {
                    checklistPersonSeen = ChecklistPersonSeen.Create(x.Id, x.FullName, x.EmailAddress);
                }

                checklist.AddPersonSeen(checklistPersonSeen);
                checklistPersonsSeen.Add(checklistPersonSeen);
            });

            checklist.RemovePersonsSeenNotInList(checklistPersonsSeen);
        }