// GET: Admin/Grades/Edit public async Task <ActionResult> Edit(int?id) { if (!id.HasValue) { return(HttpNotFound()); } GradeFormViewModel viewModel = null; try { var grade = await _gradeRepository.GetGradeById(id.Value); viewModel = new GradeFormViewModel(grade) { IsNew = false }; } catch (BadRequestException bre) { AddErrorsFromAdycHttpExceptionToModelState(bre, ModelState); } // Add properties to layout AddPageHeader(viewModel.Title, ""); AddBreadcrumb("Grades", Url.Action("Index", "Grades", new { area = "Admin" })); AddBreadcrumb(viewModel.Title, ""); return(View("GradeForm", viewModel)); }
// GET: Admin/Grades/New public ActionResult New() { var viewModel = new GradeFormViewModel { IsNew = true }; // Add properties to layout AddPageHeader(viewModel.Title, ""); AddBreadcrumb("Grades", Url.Action("Index", "Grades", new { area = "Admin" })); AddBreadcrumb(viewModel.Title, ""); return(View("GradeForm", viewModel)); }
public IActionResult Save(GradeFormViewModel gf) { if (!ModelState.IsValid) { var message = string.Join(" | ", ModelState.Values .SelectMany(v => v.Errors) .Select(e => e.ErrorMessage)); TempData["ErrorMessage"] = "Κάτι πήγε στραβά: " + message + " . Παρακαλώ δοκιμάστε ξανά αργότερα."; return(RedirectToAction("Index", "Grade")); } var userId = userManager.GetUserId(HttpContext.User); var secretary = context.Secretaries.Include(s => s.ApplicationUser).SingleOrDefault(u => u.UserId == userId); var gradeInDb = context.Grades.FirstOrDefault(g => g.Id == gf.Id); if (gradeInDb == null) { TempData["ErrorMessage"] = "Το μάθημα δεν δηλώθηκε τη συγκεκριμένη Ακ. Περίοδο."; return(RedirectToAction("Index", "Grade")); } gradeInDb.Value = gf.Grade; gradeInDb.ExamPeriodId = gf.ExamPeriod; gradeInDb.ExamDate = gf.ExamDate; gradeInDb.SecretaryId = secretary.Id; gradeInDb.EntryDate = DateTime.Today; try { context.Grades.Update(gradeInDb); context.SaveChanges(); TempData["SuccessMessage"] = "Η διαδικασία ολοκληρώθηκε."; } catch (Exception e) { TempData["ErrorMessage"] = "Κάτι πήγε στραβά: " + e.Message + " " + e.InnerException + " . Παρακαλώ δοκιμάστε ξανά αργότερα."; } return(RedirectToAction("Index", "Grade")); }
public async Task <ActionResult> Save(GradeFormViewModel form) { if (ModelState.IsValid) { try { GradeDto grade = (form.IsNew) ? new GradeDto() : await _gradeRepository.GetGradeById(form.Id.Value); grade.Name = form.Name; if (form.IsNew) { await _gradeRepository.PostGrade(grade); } else { await _gradeRepository.PutGrade(grade.Id.Value, grade); } AddPageAlerts(ViewHelpers.PageAlertType.Success, "Your changes have been saved succesfully."); return(RedirectToAction("Index")); } catch (BadRequestException bre) { AddErrorsFromAdycHttpExceptionToModelState(bre, ModelState); } } // Add properties to layout AddPageHeader(form.Title, ""); AddBreadcrumb("Grades", Url.Action("Index", "Grades", new { area = "Admin" })); AddBreadcrumb(form.Title, ""); return(View("GradeForm", form)); }
public IActionResult Edit(int id) { // Υποβολή βαθμολογίας var grade = context.Grades .Include(g => g.Course) .Include(g => g.Enrollment) .ThenInclude(e => e.Student) .Include(g => g.Enrollment) .ThenInclude(e => e.AcademicPeriod) .Include(g => g.ExamPeriod) .Include(g => g.Secretary) .FirstOrDefault(g => g.Id == id); if (grade == null) { TempData["ErrorMessage"] = "Το μάθημα δεν δηλώθηκε τη συγκεκριμένη Ακ. Περίοδο."; return(RedirectToAction("Index", "Grade")); } var examperiods = context.ExamPeriods.ToList(); List <SelectListItem> examperiodsSelectList = new List <SelectListItem>(); foreach (var examperiod in examperiods) { examperiodsSelectList.Add(new SelectListItem { Value = examperiod.Id.ToString(), Text = examperiod.Period }); } if (grade.Value != null) { GradeFormViewModel gradeformViewModel = new GradeFormViewModel() { Id = id, Title = "Υποβολή βαθμολογίας", Course = grade.Course.Title, Student = grade.Enrollment.Student.FullName, AcademicPeriod = grade.Enrollment.AcademicPeriod.Period, ExamPeriod = grade.ExamPeriod.Id, ExamPeriodList = examperiodsSelectList, ExamDate = grade.ExamDate, Grade = grade.Value }; return(View(gradeformViewModel)); } else { GradeFormViewModel gradeformViewModel = new GradeFormViewModel() { Id = id, Title = "Υποβολή βαθμολογίας", Course = grade.Course.Title, Student = grade.Enrollment.Student.FullName, AcademicPeriod = grade.Enrollment.AcademicPeriod.Period, ExamPeriodList = examperiodsSelectList }; return(View(gradeformViewModel)); } }