public async Task <ActionResult <ConferenceDTO.SpeakerResponse> > GetSpeaker(int id) { var speaker = await _speakersRepository.GetByIdAsync(id); if (speaker == null) { return(NotFound()); } return(speaker.MapSpeakerResponse()); }
public async Task <ActionResult <SessionResponse> > Delete(int id) { var session = await _sessionsRepository.DeleteAsync(id); if (session == null) { return(NotFound()); } foreach (var speakerId in session.SessionSpeakers.Select(ss => ss.SpeakerId)) { var speaker = await _speakersRepository.GetByIdAsync(speakerId); if (!speaker.SessionSpeakers.Any()) { await _speakersRepository.DeleteAsync(speakerId); } } return(session.MapSessionResponse()); }