public ActionResult Edit(string id) { ViewBag.AcademicSubjects = new SelectList(GetAcademicSubjectList, "Value", "Text"); ViewBag.IdentificationSystems = new SelectList(GetIdentificationSystemList, "Value", "Text"); ViewBag.AssessmentCategories = new SelectList(GetAssessmentCategoryList, "Value", "Text"); var assessment = edFiService.GetResourceAssessmentById(id); var objectiveAssessments = edFiService.GetObjectiveAssessments(0, 100, assessment.Title); var vm = new Models.AssessmentViewModel.AddOrEdit { Assessment = assessment, IdentificationCode = assessment.IdentificationCodes.FirstOrDefault(), GradeLevels = GetGradeLevels(new ListStack <SchoolGradeLevel>() { new SchoolGradeLevel() { GradeLevelDescriptor = assessment.AssessedGradeLevelDescriptor } }), ObjectiveAssessmentsText = string.Join(Environment.NewLine, objectiveAssessments.Select(x => x.IdentificationCode)) }; return(View(vm)); }
private List <SchoolGradeLevel> GetSelectedGradeLevels(Models.AssessmentViewModel.AddOrEdit vm) { return(vm.GradeLevels .Where(x => x.Checked) .Select(x => new SchoolGradeLevel() { GradeLevelDescriptor = x.Text.Replace("_", " ") //In the view, for the labels to work we replace spaces with underscores }) .ToList()); }
public ActionResult Add() { ViewBag.AcademicSubjects = new SelectList(GetAcademicSubjectList, "Value", "Text"); ViewBag.IdentificationSystems = new SelectList(GetIdentificationSystemList, "Value", "Text"); ViewBag.AssessmentCategories = new SelectList(GetAssessmentCategoryList, "Value", "Text"); var vm = new Models.AssessmentViewModel.AddOrEdit { GradeLevels = GetGradeLevels(new List <SchoolGradeLevel>()) }; return(View(vm)); }
public ActionResult Add(Models.AssessmentViewModel.AddOrEdit vm) { ViewBag.AcademicSubjects = new SelectList(GetAcademicSubjectList, "Value", "Text"); ViewBag.IdentificationSystems = new SelectList(GetIdentificationSystemList, "Value", "Text"); ViewBag.AssessmentCategories = new SelectList(GetAssessmentCategoryList, "Value", "Text"); if (!GetSelectedGradeLevels(vm).Any()) { ModelState.AddModelError("NoGradesSelected", "Please select the grade levels for this assessment."); } if (!ModelState.IsValid) { return(View(vm)); } SaveAssessment(vm); return(RedirectToAction("Index")); }
private void SaveAssessment(Models.AssessmentViewModel.AddOrEdit vm) { var selectedGradeLevels = GetSelectedGradeLevels(vm); var objectiveAssessments = vm.ObjectiveAssessmentsText .Split(new[] { Environment.NewLine, "," }, StringSplitOptions.RemoveEmptyEntries) .Where(x => !string.IsNullOrWhiteSpace(x)) .Select(x => x.Trim()) .ToList(); var assementCount = 0; var responseMsg = string.Empty; try { selectedGradeLevels.ForEach(gradeLevel => { var assessment = new EdFi.Models.Resources.Assessment() { Title = vm.Assessment.Title, Version = vm.Assessment.Version, Namespace = vm.Assessment.Namespace, AcademicSubjectDescriptor = vm.Assessment.AcademicSubjectDescriptor, AssessedGradeLevelDescriptor = gradeLevel.GradeLevelDescriptor, CategoryDescriptor = vm.Assessment.CategoryDescriptor, IdentificationCodes = new List <AssessmentIdentificationCode> { new AssessmentIdentificationCode { AssessmentIdentificationSystemDescriptor = vm.IdentificationCode.AssessmentIdentificationSystemDescriptor, IdentificationCode = vm.Assessment.Title } } }; var assementResponse = edFiService.CreateAssessment(assessment); responseMsg = assementResponse.StatusDescription; if (assementResponse.StatusCode == HttpStatusCode.Created) { assementCount++; objectiveAssessments.ForEach(x => { var objectiveAssessment = new ObjectiveAssessment { IdentificationCode = x, assessmentReference = new AssessmentReference { title = assessment.Title, academicSubjectDescriptor = assessment.AcademicSubjectDescriptor, assessedGradeLevelDescriptor = assessment.AssessedGradeLevelDescriptor, version = assessment.Version } }; edFiService.CreateObjectiveAssessment(objectiveAssessment); }); } }); } catch (Exception ex) { LogService.Error("Error Saving Assessment", ex); responseMsg = ex.Message; } }