public async Task <IActionResult> UpdateSpeaker([FromRoute] int id, [FromBody] ConferenceDTO.Speaker input)
        {
            var speaker = await _db.FindAsync <Speaker>(id);

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

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            speaker.Name    = input.Name;
            speaker.WebSite = input.WebSite;
            speaker.Bio     = input.Bio;

            // TODO: Handle exceptions, e.g. concurrency
            await _db.SaveChangesAsync();

            var result = speaker.MapSpeakerResponse();

            return(Ok(result));
        }
Exemple #2
0
 public static Speaker MapSpeaker(this ConferenceDTO.Speaker speaker) =>
 new Speaker
 {
     ID      = speaker.ID,
     Bio     = speaker.Bio,
     Name    = speaker.Name,
     WebSite = speaker.WebSite
 };
        public async Task <ActionResult <ConferenceDTO.SpeakerResponse> > AddSpeaker(ConferenceDTO.Speaker input)
        {
            var speaker = new Speaker
            {
                Name    = input.Name,
                Bio     = input.Bio,
                WebSite = input.WebSite
            };

            _context.Speakers.Add(speaker);
            await _context.SaveChangesAsync();

            var result = speaker.MapSpeakerResponse();

            return(CreatedAtAction(nameof(GetSpeakers), new { id = result.Id }, result));
        }
Exemple #4
0
        public async Task <IActionResult> PutSpeaker(int id, ConferenceDTO.Speaker input)
        {
            var speaker = await _db.FindAsync <Speaker>(id);

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

            speaker.Name    = input.Name;
            speaker.WebSite = input.WebSite;
            speaker.Bio     = input.Bio;

            // TODO: Handle exceptions, e.g. concurrency
            await _db.SaveChangesAsync();

            return(NoContent());
        }
        public async Task <IActionResult> CreateSpeaker([FromBody] ConferenceDTO.Speaker input)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var speaker = new Speaker
            {
                Name    = input.Name,
                WebSite = input.WebSite,
                Bio     = input.Bio
            };

            _db.Speakers.Add(speaker);
            await _db.SaveChangesAsync();

            var result = speaker.MapSpeakerResponse();

            return(CreatedAtAction(nameof(GetSpeaker), new { id = speaker.ID }, result));
        }
Exemple #6
0
        public async Task <ActionResult <ConferenceDTO.SpeakerResponse> > PostSpeaker(ConferenceDTO.Speaker input)
        {
            var speaker = new Speaker
            {
                Name    = input.Name,
                WebSite = input.WebSite,
                Bio     = input.Bio
            };

            _db.Speakers.Add(speaker);
            await _db.SaveChangesAsync();

            var result = speaker.MapSpeakerResponse();

            return(CreatedAtAction(nameof(GetSpeaker), new { id = speaker.ID }, speaker));
        }