public async Task <IActionResult> Create([Bind("SacramentScheduleId,MeetingDate,BishopricId,OpeningHymnId,SacramentalHymnId,IntermediateHymnId,ClosingHymnId,FirstSpeakerId,SecondSpeakerId,ThirdSpeakerId,InvocationId,BenedictionId")] SacramentSchedule sacramentSchedule)
        {
            if (ModelState.IsValid)
            {
                _context.Add(sacramentSchedule);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            ////Is this needed?????
            //ViewData["BishopricId"] = new SelectList(_context.Bishopric, "BishopricId", "BishopricName", sacramentSchedule.BishopricId);
            //ViewData["ClosingHymnId"] = new SelectList(_context.Hymn, "HymnId", "HymnName", sacramentSchedule.ClosingHymnId);
            //ViewData["IntermediateHymnId"] = new SelectList(_context.Hymn, "HymnId", "HymnName", sacramentSchedule.IntermediateHymnId);
            //ViewData["OpeningHymnId"] = new SelectList(_context.Hymn, "HymnId", "HymnName", sacramentSchedule.OpeningHymnId);
            //ViewData["SacramentalHymnId"] = new SelectList(_context.Hymn, "HymnId", "HymnName", sacramentSchedule.SacramentalHymnId);

            //ViewData["InvocationId"] = new SelectList(_context.Member, "MemberId", "MemberName", sacramentSchedule.InvocationId);
            //ViewData["BenedictionId"] = new SelectList(_context.Member, "MemberId", "MemberName", sacramentSchedule.BenedictionId);

            ////ask about this
            //ViewData["OpeningSpeakerId"] = new SelectList(_context.Speaker, "SpeakerId", "Member.MemberName", sacramentSchedule.OpeningSpeakerId);
            //ViewData["IntermediateSpeakerId"] = new SelectList(_context.Speaker, "SpeakerId", "Member.MemberName", sacramentSchedule.IntermediateSpeakerId);
            //ViewData["ClosingSpeakerId"] = new SelectList(_context.Speaker, "SpeakerId", "Member.MemberName", sacramentSchedule.ClosingSpeakerId);

            return(View(sacramentSchedule));
        }
        public async Task <IActionResult> Edit(int id, [Bind("SacramentScheduleId,MeetingDate,BishopricId,OpeningHymnId,SacramentalHymnId,IntermediateHymnId,ClosingHymnId,FirstSpeakerId,SecondSpeakerId,ThirdSpeakerId,InvocationId,BenedictionId")] SacramentSchedule sacramentSchedule)
        {
            if (id != sacramentSchedule.SacramentScheduleId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(sacramentSchedule);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SacramentScheduleExists(sacramentSchedule.SacramentScheduleId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            //needed?
            ViewData["BishopricId"]        = new SelectList(_context.Bishopric, "BishopricId", "BishopricId", sacramentSchedule.BishopricId);
            ViewData["ClosingHymnId"]      = new SelectList(_context.Hymn, "HymnId", "HymnId", sacramentSchedule.ClosingHymnId);
            ViewData["IntermediateHymnId"] = new SelectList(_context.Hymn, "HymnId", "HymnId", sacramentSchedule.IntermediateHymnId);
            ViewData["OpeningHymnId"]      = new SelectList(_context.Hymn, "HymnId", "HymnId", sacramentSchedule.OpeningHymnId);
            ViewData["SacramentalHymnId"]  = new SelectList(_context.Hymn, "HymnId", "HymnId", sacramentSchedule.SacramentalHymnId);

            ViewData["InvocationId"]  = new SelectList(_context.Member, "MemberId", "MemberName", sacramentSchedule.InvocationId);
            ViewData["BenedictionId"] = new SelectList(_context.Member, "MemberId", "MemberName", sacramentSchedule.BenedictionId);

            var speakers = _context.Speaker.Include(s => s.Member).ToList();

            //ask about this
            ViewData["OpeningSpeakerId"]      = new SelectList(speakers, "SpeakerId", "Member.MemberName", sacramentSchedule.OpeningSpeakerId);
            ViewData["IntermediateSpeakerId"] = new SelectList(speakers, "SpeakerId", "SpeakerId", sacramentSchedule.IntermediateSpeakerId);
            ViewData["ClosingSpeakerId"]      = new SelectList(speakers, "SpeakerId", "SpeakerId", sacramentSchedule.ClosingSpeakerId);

            return(View(sacramentSchedule));
        }