public async Task <IActionResult> Edit(EditCourseModel model) { const string func = "Edit"; if (ModelState.IsValid) { try { Course existing = null; if (model.CourseId.HasValue) { existing = await _courseRepo.GetData(model.CourseId.Value); } Course course = model.ToDataModel(_mapper, existing); course.ModifyUserId = 1; course.ModifyDate = DateTime.Now; await _courseRepo.SaveData(course); return(Json(new AjaxResultModel(AjaxResultModel.StatusCodeSuccess, "Save Complete!"))); } catch (Exception ex) { _logger.LogError("{0}: Exception caught.", func, ex); ModelState.AddModelError("", "Save Failed!"); } } return(Json(new AjaxResultModel(AjaxResultModel.StatusCodeError, ModelState))); }
public ICourseModel UpdateCourse(EditCourseModel courseModel) { var updatedCourse = new CourseModel(); try { // Step 1 - Initialize the connection and set the sproc var conn = new SqlConnection(connStr); var command = new SqlCommand(StoredProcedures.Courses_Update, conn); command.CommandType = CommandType.StoredProcedure; conn.Open(); // Step 2 - Set the Parameters command.Parameters.AddWithValue("@IdCourse", courseModel.IdCourse); command.Parameters.AddWithValue("@CourseName", courseModel.CourseName); command.Parameters.AddWithValue("@CourseDescription", string.IsNullOrEmpty(courseModel.CourseDescription) ? "" : courseModel.CourseDescription); command.Parameters.AddWithValue("@CourseInstructorId", courseModel.CourseInstructorId == 0 ? null : courseModel.CourseInstructorId); command.Parameters.AddWithValue("@CourseInstructorUsername", string.IsNullOrEmpty(courseModel.CourseInstructorUsername) ? null : courseModel.CourseInstructorUsername); command.Parameters.AddWithValue("@Semester", courseModel.Semester); command.Parameters.AddWithValue("@SeatsMax", courseModel.SeatsMax); command.Parameters.AddWithValue("@SeatsOpen", courseModel.SeatsOpen); command.Parameters.AddWithValue("@StartTime", string.IsNullOrEmpty(courseModel.StartTime) ? "" : courseModel.StartTime); command.Parameters.AddWithValue("@EndTime", string.IsNullOrEmpty(courseModel.EndTime) ? "" : courseModel.EndTime); command.Parameters.AddWithValue("@DayOfWeek", string.IsNullOrEmpty(courseModel.DayOfWeek) ? "" : courseModel.DayOfWeek); // Step 3 - Execute the sproc and store the new User in an object var sqlReader = command.ExecuteReader(); // Null values for null assignment DateTime?nullDateTime = null; while (sqlReader.Read()) { updatedCourse.IdCourse = sqlReader.GetInt32(0); updatedCourse.Department = sqlReader.GetString(1); updatedCourse.CourseNumber = sqlReader.GetInt32(2); updatedCourse.CourseName = sqlReader.GetString(3); updatedCourse.CourseDescription = sqlReader.IsDBNull(4) ? "" : sqlReader.GetString(4); updatedCourse.CourseInstructorId = sqlReader.IsDBNull(5) ? 0 : sqlReader.GetInt32(5); updatedCourse.CourseInstructorUsername = sqlReader.IsDBNull(6) ? "" : sqlReader.GetString(6); updatedCourse.Semester = sqlReader.GetString(7); updatedCourse.SeatsOpen = sqlReader.GetInt32(8); updatedCourse.SeatsMax = sqlReader.GetInt32(9); updatedCourse.StartTime = sqlReader.IsDBNull(10) ? nullDateTime : sqlReader.GetDateTime(10); updatedCourse.EndTime = sqlReader.IsDBNull(11) ? nullDateTime : sqlReader.GetDateTime(11); updatedCourse.DayOfWeek = sqlReader.IsDBNull(12) ? "" : sqlReader.GetString(12); } sqlReader.Close(); } catch (Exception e) { Console.WriteLine(e.Message); } return(updatedCourse); }
public IActionResult Edit(EditCourseModel model) { if (!ModelState.IsValid) { return(this.RedirectToAction(nameof(Edit))); } this.courses.Edit(model); return(this.RedirectToAction(nameof(Courses))); }
public void Edit(EditCourseModel model) { using (this.db) { var course = this.db.Courses .FirstOrDefault(c => c.Id == model.Id); if (course != null) { course.Name = model.Name; course.StartDate = model.StartDate; course.EndDate = model.EndDate; course.Description = model.Description; this.db.SaveChanges(); } } }
public CourseModel UpdateCourse(EditCourseModel courseModel) { var updatedCourse = new CourseModel(); try { // Null check the model, then update the user if (courseModel != null && courseModel.IdCourse != null) { updatedCourse = CoursesRepository.UpdateCourse(courseModel) as CourseModel; } } catch (Exception e) { Console.Write(e.Message); } return(updatedCourse); }
public ActionResult Edit(EditCourseModel courseModel, int id) { if (ModelState.IsValid) { Course course = db.Courses.Find(id); if (course == null) { return(HttpNotFound()); } //set creator to current user course.Description = courseModel.Description; course.Name = courseModel.Name; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(courseModel)); }
public ActionResult EditCourse(int courseId) { var viewString = ViewStrings.EditCourse; // Populate TempData with necessary list data GetListData(); try { // Step 1 - Get the course by the courseId passed var course = CoursesService.GetCourse(new CourseModel { IdCourse = courseId }); // Step 2 - Set up an EditCourseModel based on the current Course var editCourse = new EditCourseModel { IdCourse = course.IdCourse, Department = course.Department, CourseNumber = course.CourseNumber, CourseName = course.CourseName, CourseDescription = course.CourseDescription, CourseInstructorId = course.CourseInstructorId, CourseInstructorUsername = course.CourseInstructorUsername, Semester = course.Semester, SeatsMax = course.SeatsMax, SeatsOpen = course.SeatsOpen, StartTime = course.StartTime?.ToShortTimeString(), EndTime = course.EndTime?.ToShortTimeString(), DayOfWeek = course.DayOfWeek }; // Load the page with the Current Course's Info return(View(viewString, editCourse)); } catch (Exception e) { Console.Write(e.Message); return(View(viewString, new EditCourseModel())); } }
public async Task <IActionResult> Edit(int?id) { const string func = "Edit"; try { EditCourseModel model; if (id.HasValue) { model = new EditCourseModel(await _courseRepo.GetData(id), _mapper); } else { model = new EditCourseModel(); } return(View(model)); } catch (Exception ex) { _logger.LogError("{0}: Exception caught with id {1}.", func, id, ex); return(NotFound()); } }
public ActionResult EditCourse(EditCourseModel model) { var viewString = ViewStrings.EditCourse; // Populate TempData with necessary list data GetListData(); try { // If model is invalid, show errors if (!ModelState.IsValid) { return(View(viewString, model)); } // Step 1 - Calculate SeatsOpen if SeatsMax field is updated var existingCourse = CoursesService.GetCourse(new CourseModel { IdCourse = model.IdCourse }); if (!model.SeatsMax.Equals(existingCourse.SeatsMax)) { // Updated SeatsMax must be greater than or equal to the number of students currently registered if (!(model.SeatsMax >= existingCourse.SeatsMax - existingCourse.SeatsOpen)) { ModelState.AddModelError("UpdateFailed", "Update Failed"); model.ErrorMessage = "Seats Available must be greater than " + (existingCourse.SeatsMax - existingCourse.SeatsOpen).ToString(); return(View(viewString, model)); } // Update SeatsOpen: Add or subtract the number of seats added/removed model.SeatsOpen += model.SeatsMax - existingCourse.SeatsMax; } // Step 2 - Update the CourseInstructorAssoc record if changed if (!model.CourseInstructorId.Equals(existingCourse.CourseInstructorId)) { // If instructor was removed, remove the record if (model.CourseInstructorId == null) { InstructorCourseAssocService.DeleteAssoc(model.IdCourse ?? 0); model.CourseInstructorUsername = null; } else { // If instructor is changed, update or add the record if (InstructorCourseAssocService.GetAssoc(model.IdCourse ?? 0).IdCourse > 0) { InstructorCourseAssocService.UpdateAssoc(new InstructorCourseAssocModel { IdCourse = model.IdCourse ?? 0, IdInstructor = model.CourseInstructorId ?? 0 }); } else { InstructorCourseAssocService.InsertAssoc(new InstructorCourseAssocModel { IdCourse = model.IdCourse ?? 0, IdInstructor = model.CourseInstructorId ?? 0 }); } model.CourseInstructorUsername = UsersService.GetUser(model.CourseInstructorId.ToString()).Username; } } // Step 3 - Update the User record in the Database and store in TempData for Current User CoursesService.UpdateCourse(model); // Step 4 - Bring the user to the success page viewString = ViewStrings.EditCourse_Success; return(View(viewString)); } catch (Exception e) { Console.Write(e.Message); return(View(viewString, model)); } }