public async Task <IActionResult> Create([Bind("ID,Question,QuestionID,Authors,QuestionDate,Answer")] QOTDAnswerCreateEditViewModel QOTDAnswerVM, IFormCollection form) { Debug.Print(QOTDAnswerVM.QuestionID.ToString()); //not sure I want to allow multiple authors // need to swich to creating a different row for each author instead of saving multiple author ids string AuthorIds = ""; foreach (string item in form["Authors"]) { string ite = item; AuthorIds += ite + ",,"; } QOTDAnswer qOTDAnswer = new QOTDAnswer(); qOTDAnswer.Question = QOTDAnswerVM.Question; qOTDAnswer.QuestionID = QOTDAnswerVM.QuestionID; qOTDAnswer.Answer = QOTDAnswerVM.Answer; qOTDAnswer.QuestionDate = QOTDAnswerVM.QuestionDate; qOTDAnswer.Author = AuthorIds; Debug.Print(qOTDAnswer.Author); if (ModelState.IsValid) { _context.Add(qOTDAnswer); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(qOTDAnswer)); }
// GET: QOTDAnswer/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } // repeating select list creation ,need to DRY it var qOTDAnswer = await _context.QOTDAnswer.SingleOrDefaultAsync(m => m.ID == id); List <AuthorListElement> AuthorQuery = await _context.ParticipantQOTD.Select(x => new AuthorListElement { FullName = x.GivenName + " " + x.FamilyName, ID = x.ID }).OrderBy(x => x.FullName).Distinct().ToListAsync(); var QOTDAnswerVM = new QOTDAnswerCreateEditViewModel(); QOTDAnswerVM.Answer = qOTDAnswer.Answer; QOTDAnswerVM.Authors = Add(AuthorQuery, 4); QOTDAnswerVM.Question = qOTDAnswer.Question; QOTDAnswerVM.QuestionDate = qOTDAnswer.QuestionDate; QOTDAnswerVM.QuestionID = id ?? default(int); if (qOTDAnswer == null) { return(NotFound()); } return(View(QOTDAnswerVM)); }
public async Task <IActionResult> Create([FromRoute] int id) { // REVIEW //Take assignment of Question ID from the QOTD Index Page, User is not allowed to specify // specific page on the actua page with the form // creating select list if (User.IsInRole("employerDemo")) { Question QuestionQuery = _context.QOTDQuestion .Where(x => x.id == id) .Select(x => x) .FirstOrDefault(); List <AuthorListElement> AuthorQuery = await _context.QOTDParticipants.Select(x => new AuthorListElement { FullName = "REDACTED", id = x.id }) .OrderBy(x => x.FullName) .Distinct() .ToListAsync(); var QOTDAnswerVM = new QOTDAnswerCreateEditViewModel(); Add(AuthorQuery, 4); //TODO better name for add QOTDAnswerVM.Authors = Add(AuthorQuery, 4); QOTDAnswerVM.Question = QuestionQuery.QuestionText; QOTDAnswerVM.QuestionDate = QuestionQuery.QuestionDate; QOTDAnswerVM.QuestionID = id; return(View(QOTDAnswerVM)); } else { Question QuestionQuery = _context.QOTDQuestion.Where(x => x.id == id) .Select(x => x) .FirstOrDefault(); List <AuthorListElement> AuthorQuery = await _context.QOTDParticipants .Select(x => new AuthorListElement { FullName = x.GivenName + " " + x.FamilyLetter, id = x.id }) .OrderBy(x => x.FullName) .Distinct() .ToListAsync(); var QOTDAnswerVM = new QOTDAnswerCreateEditViewModel(); Add(AuthorQuery, 4); QOTDAnswerVM.Authors = Add(AuthorQuery, 4); QOTDAnswerVM.Question = QuestionQuery.QuestionText; QOTDAnswerVM.QuestionDate = QuestionQuery.QuestionDate; QOTDAnswerVM.QuestionID = id; return(View(QOTDAnswerVM)); } }
public async Task <IActionResult> Create([FromRoute] int id) { // REVIEW //Take assignment of Question ID from the QOTD Index Page, User is not allowed to specify // specific page on the actua page with the form // creating select list QOTD QuestionQuery = _context.QOTD.Where(x => x.ID == id).Select(x => x).FirstOrDefault(); List <AuthorListElement> AuthorQuery = await _context.ParticipantQOTD.Select(x => new AuthorListElement { FullName = x.GivenName + " " + x.FamilyName, ID = x.ID }).OrderBy(x => x.FullName).Distinct().ToListAsync(); var QOTDAnswerVM = new QOTDAnswerCreateEditViewModel(); Add(AuthorQuery, 4); QOTDAnswerVM.Authors = Add(AuthorQuery, 4); QOTDAnswerVM.Question = QuestionQuery.Question; QOTDAnswerVM.QuestionDate = QuestionQuery.QuestionDate; QOTDAnswerVM.QuestionID = id; return(View(QOTDAnswerVM)); }