public LinkedParticipant(Guid participantId, Guid linkedId, LinkedParticipantType type) { Id = Guid.NewGuid(); ParticipantId = participantId; LinkedId = linkedId; Type = type; }
public void AddLink(Guid linkedId, LinkedParticipantType linkType) { var existingLink = LinkedParticipants.SingleOrDefault(x => x.LinkedId == linkedId && x.Type == linkType); if (existingLink == null) { LinkedParticipants.Add(new LinkedParticipant(Id, linkedId, linkType)); } }
public void AddLink(Guid linkedId, LinkedParticipantType linkType) { var existingLink = LinkedParticipants.SingleOrDefault(x => x.LinkedId == linkedId && x.Type == linkType); if (existingLink != null) { throw new DomainRuleException("LinkedParticipant", "Participant is already linked with the same link type"); } LinkedParticipants.Add(new LinkedParticipant(Id, linkedId, linkType)); }
private void UpdateParticipantsWithLinks(Participant participant1, Participant participant2, LinkedParticipantType linkType) { participant1.AddLink(participant2.Id, linkType); participant2.AddLink(participant1.Id, linkType); }
public LinkedParticipantDto(string participantContactEmail, string linkedParticipantContactEmail, LinkedParticipantType type) { ParticipantContactEmail = participantContactEmail; LinkedParticipantContactEmail = linkedParticipantContactEmail; Type = type; }