Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 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());
 }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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"));
        }
Ejemplo n.º 5
0
        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;
            }
        }