예제 #1
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            Talk = await _talkService.TryRaven(s => s.GetTalkDetail($"Talks/{id}"));

            if (Talk == null)
            {
                return(RedirectToPage("/Index"));
            }

            return(Page());
        }
예제 #2
0
        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
                });
            }
        }