Example #1
0
        public async Task <ActionResult <ConferenceDTO.SpeakerResponse> > GetSpeaker(int id)
        {
            var speaker = await _speakersRepository.GetByIdAsync(id);

            if (speaker == null)
            {
                return(NotFound());
            }

            return(speaker.MapSpeakerResponse());
        }
Example #2
0
        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());
        }