public async Task <IActionResult> OnGetAsync(string id) { Talk = await _talkService.TryRaven(s => s.GetTalkDetail($"Talks/{id}")); if (Talk == null) { return(RedirectToPage("/Index")); } return(Page()); }
public TeacherDetail GetTeacherById(int id) { using (var ctx = new ApplicationDbContext()) { var entity = ctx .Teachers .Single(e => e.TeacherId == id); var teacherTalks = new List <TalkDetail>(); foreach (var talk in entity.Talks) { var detail = new TalkDetail() { TalkId = talk.TalkId, Name = talk.Name, TeacherId = talk.TeacherId, Topic = talk.Topic, TalkLength = talk.TalkLength, RetreatId = talk.RetreatId, TalkDate = talk.TalkDate, TalkLink = "https://dharmaseed.org/talks/audio_player/" + talk.TeacherLinkId + "/" + talk.TalkLinkId + ".html" }; teacherTalks.Add(detail); } var retreats = entity.Talks.Select(t => t.Retreats).ToList(); var teacherRetreats = new List <RetreatListItem>(); foreach (var r in retreats) { var list = new RetreatListItem() { RetreatId = r.RetreatId, RetreatName = r.RetreatName, CenterId = r.CenterId, CenterName = r.Centers.Name, RetreatDate = r.RetreatDate, RetreatLength = r.RetreatLength, AvgRating = r.AvgRating }; teacherRetreats.Add(list); } return (new TeacherDetail { TeacherId = entity.TeacherId, FirstName = entity.FirstName, LastName = entity.LastName, Bio = entity.Bio, Retreats = teacherRetreats, Talks = teacherTalks }); } }