public async Task <IActionResult> EditConversationForm(ConversationFormViewModel model) { int.TryParse(TempData["ConversationResultId"].ToString(), out int conversationResultId); int.TryParse(TempData["ExamId"].ToString(), out int examId); int.TryParse(TempData["StudentId"].ToString(), out int studentId); var studentFromDatabase = await _repository.FindByIdAsync <Student>(studentId); if (studentFromDatabase.InvitedToStudy == true) { _logger.LogWarning("Failed to edit conversation result form, student {Student} has invited to study. User {User}", studentFromDatabase.Id, _user); ModelState.AddModelError("ConversationFormEdit", "Kandidatas yra pakviestas studijuoti, pokalbio anketos redaguoti negalima"); TempData["ErrorMessage"] = "Kandidatas yra pakviestas studijuoti, pokalbio anketos redaguoti negalima"; return(RedirectToAction("EditConversationForm", "ConversationResults", new { id = conversationResultId })); } if (ModelState.IsValid) { try { var conversationForm = await _repository.Query <ConversationForm>().Where(x => x.ConversationResultId == conversationResultId).ToListAsync(); ConversationResultMappings.EditConversationFormEntity(conversationForm, model); _logger.LogInformation("Successfully edited conversation form. User {User}", _user); await _repository.SaveAsync(); } catch (DbUpdateConcurrencyException) { throw; } return(RedirectToAction("Index", "ConversationResults", new { id = examId })); } return(RedirectToAction("EditConversationForm", "ConversationResults", new { id = conversationResultId })); }
public static void EditConversationFormEntity(List <ConversationForm> conversationForm, ConversationFormViewModel model) { for (int i = 0; i < conversationForm.Count(); i++) { conversationForm.ElementAt(i).Field = model.Fields.ElementAt(i); } }