public ActionResult Create(StudentEditViewmodel student) { try { using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"INSERT INTO Student (FirstName, LastName, SlackHandle, CohortId) OUTPUT INSERTED.Id VALUES (@firstName, @lastName, @slackHandle, @cohortId)"; cmd.Parameters.Add(new SqlParameter("@firstName", student.FirstName)); cmd.Parameters.Add(new SqlParameter("@lastName", student.LastName)); cmd.Parameters.Add(new SqlParameter("@slackHandle", student.SlackHandle)); cmd.Parameters.Add(new SqlParameter("@cohortId", student.CohortId)); var id = (int)cmd.ExecuteScalar(); student.StudentId = id; return(RedirectToAction(nameof(Index))); } } } catch (Exception ex) { return(View()); } }
// GET: Students/Create public ActionResult Create() { var cohortOptions = GetCohortOptions(); var viewModel = new StudentEditViewmodel() { CohortOptions = cohortOptions }; return(View(viewModel)); }
// GET: Students/Edit/5 public ActionResult Edit(int id) { var student = GetStudentById(id); var cohortOptions = GetCohortOptions(); var viewModel = new StudentEditViewmodel() { StudentId = student.Id, FirstName = student.FirstName, LastName = student.LastName, CohortId = student.CohortId, SlackHandle = student.SlackHandle, CohortOptions = cohortOptions }; return(View(viewModel)); }
public ActionResult Edit(int id, [FromForm] StudentEditViewmodel student) { try { using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"UPDATE Student SET FirstName = @firstName, LastName = @lastName, SlackHandle = @slackHandle, CohortId = @cohortId WHERE Id = @id"; cmd.Parameters.Add(new SqlParameter("@firstName", student.FirstName)); cmd.Parameters.Add(new SqlParameter("@lastName", student.LastName)); cmd.Parameters.Add(new SqlParameter("@slackHandle", student.SlackHandle)); cmd.Parameters.Add(new SqlParameter("@cohortId", student.CohortId)); cmd.Parameters.Add(new SqlParameter("@id", id)); var rowsAffected = cmd.ExecuteNonQuery(); if (rowsAffected < 1) { return(NotFound()); } } } return(RedirectToAction(nameof(Index))); } catch { return(View()); } }