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); }