public async Task <ActionResult <ConferenceResponse> > CreateConference(ConferenceDTO.Conference input)
        {
            var conference = new Data.Conference {
                Name = input.Name
            };

            _db.Conferences.Add(conference);
            await _db.SaveChangesAsync();

            var result = new ConferenceDTO.ConferenceResponse {
                ID   = conference.ID,
                Name = conference.Name
            };

            return(CreatedAtAction(nameof(GetConference), new { id = conference.ID }, result));
        }
        public async Task <ActionResult <ConferenceResponse> > GetConference(int id)
        {
            var conference = await _db.FindAsync <Data.Conference>(id);

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

            var result = new ConferenceDTO.ConferenceResponse
            {
                ID   = conference.ID,
                Name = conference.Name,
                //Sessions = ??,
                //Tracks = ??
                //Sessions = ??
            };

            return(result);
        }
        public async Task <ActionResult <ConferenceResponse> > DeleteConference(int id)
        {
            var conference = await _db.FindAsync <Data.Conference> (id);

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

            _db.Remove(conference);

            await _db.SaveChangesAsync();

            var result = new ConferenceDTO.ConferenceResponse {
                ID   = conference.ID,
                Name = conference.Name
            };

            return(result);
        }