public async Task <IActionResult> GetMyTalks(string moniker) { try { var speaker = await _repo.GetSpeakerForCurrentUserAsync(moniker, User.Identity.Name); if (speaker != null && speaker.Talks != null) { return(Ok(_mapper.Map <IEnumerable <TalkViewModel> >(speaker.Talks))); } return(Ok(_mapper.Map <IEnumerable <TalkViewModel> >(new List <Talk>()))); } catch (Exception ex) { _logger.LogError("Failed to get my talks: {0}", ex); } return(BadRequest("Couldn't load talks.")); }
public async Task <ActionResult <SpeakerViewModel> > GetCurrent(string moniker) { try { var speaker = await _repo.GetSpeakerForCurrentUserAsync(moniker, User.Identity.Name); if (speaker == null) { speaker = new Speaker() { Talks = new List <Talk>(), UserName = User.Identity.Name }; } return(_mapper.Map <SpeakerViewModel>(speaker)); } catch (Exception ex) { _logger.LogError("Failed to get current speaker: {0}", ex); } return(BadRequest("Failed to get Speakers")); }