/// <summary> /// This function is used to Add an Assessment /// </summary> /// <param name="studentExtend"></param> public string CreateAssessment(AssessmentViewModel model) { try { string resultMessage = string.Empty; int schoolTermId = int.Parse(model.SchoolTermId); int schoolYearId = int.Parse(model.SchoolYearId); int assessmentTypeId = int.Parse(model.AssessmentTypeId); int subjectId = int.Parse(model.SubjectId); if (!IsAssessmentAlreadyExists(schoolTermId, subjectId, assessmentTypeId, schoolYearId)) { string schoolTermDesc = _db.tblSchoolTerms.Where(x => x.SchoolTermId == schoolTermId).Select(x => x.SchoolTermDesc).FirstOrDefault(); string schoolYearDesc = _db.tblSchoolYears.Where(x => x.SchoolYearId == schoolYearId).Select(x => x.SchoolYearDesc).FirstOrDefault(); //only need to take two chracters of school year. ex: for 2014/15 we have to take 14/15 string schoolYear = schoolYearDesc.Substring(2, 5); //Get all children, grandchildren etc. of parentAssessment var assessmentTypes = GetHeirachicalAssessmentType(assessmentTypeId); //Create and save assessment data for parent and each children. foreach (var assessmentType in assessmentTypes) { string assessmentDesc = schoolTermDesc + " " + schoolYear + " " + assessmentType.AssessmentCode; string assessmentSubDesc = assessmentDesc; assessmentTypeId = assessmentType.AssessmentTypeId; tblAssessment tblAssessment = new tblAssessment() { AssessmentDesc = assessmentDesc, AssessmentSubDesc = assessmentSubDesc, AssessmentTypeId = assessmentTypeId, SubjectId = subjectId, SchoolTermId = schoolTermId, SchoolYearId = schoolYearId, SLOTemplateId = model.SLOTemplateId == null ? (int?)null : Convert.ToInt32((model.SLOTemplateId)), RubricTemplateId = model.RubricTemplateId == null ? (int?)null : Convert.ToInt32((model.RubricTemplateId)), ScoreMin = model.ScoreMin, ScoreMax = model.ScoreMax, CreateDatetime = DateTime.UtcNow }; //save assessment SaveAssessment(tblAssessment); } resultMessage = "Data Saved Successfully"; } else { resultMessage = "Assessment already exists for selected Subject, Assessment Type, School Year and School Term."; } return(resultMessage); } catch (Exception ex) { throw ex; } }
private void SaveAssessment(tblAssessment tblAssessment) { using (var context = new dbTIREntities()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { context.tblAssessments.Add(tblAssessment); context.SaveChanges(); dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); throw ex; } } } }
/// <summary> /// This function is used to Add an Assessment /// </summary> /// <param name="studentExtend"></param> public string CreateAssessment(AssessmentViewModel model) { try { string resultMessage = string.Empty; int schoolTermId = int.Parse(model.SchoolTermId); int schoolYearId = int.Parse(model.SchoolYearId); int assessmentTypeId = int.Parse(model.AssessmentTypeId); int subjectId = int.Parse(model.SubjectId); if (!IsAssessmentAlreadyExists(schoolTermId, subjectId, assessmentTypeId, schoolYearId)) { string schoolTermDesc = _db.tblSchoolTerms.Where(x => x.SchoolTermId == schoolTermId).Select(x => x.SchoolTermDesc).FirstOrDefault(); string schoolYearDesc = _db.tblSchoolYears.Where(x => x.SchoolYearId == schoolYearId).Select(x => x.SchoolYearDesc).FirstOrDefault(); //only need to take two chracters of school year. ex: for 2014/15 we have to take 14/15 string schoolYear = schoolYearDesc.Substring(2, 5); //Get all children, grandchildren etc. of parentAssessment var assessmentTypes = GetHeirachicalAssessmentType(assessmentTypeId); //Create and save assessment data for parent and each children. foreach (var assessmentType in assessmentTypes) { string assessmentDesc = schoolTermDesc + " " + schoolYear + " " + assessmentType.AssessmentCode; string assessmentSubDesc = assessmentDesc; assessmentTypeId = assessmentType.AssessmentTypeId; tblAssessment tblAssessment = new tblAssessment() { AssessmentDesc = assessmentDesc, AssessmentSubDesc = assessmentSubDesc, AssessmentTypeId = assessmentTypeId, SubjectId = subjectId, SchoolTermId = schoolTermId, SchoolYearId = schoolYearId, SLOTemplateId = model.SLOTemplateId == null ? (int?)null : Convert.ToInt32((model.SLOTemplateId)), RubricTemplateId = model.RubricTemplateId == null ? (int?)null : Convert.ToInt32((model.RubricTemplateId)), ScoreMin = model.ScoreMin, ScoreMax = model.ScoreMax, CreateDatetime = DateTime.UtcNow }; //save assessment SaveAssessment(tblAssessment); } resultMessage = "Data Saved Successfully"; } else { resultMessage = "Assessment already exists for selected Subject, Assessment Type, School Year and School Term."; } return resultMessage; } catch (Exception ex) { throw ex; } }