public ActionResult SubmitExamSubjectMarks([Bind(Include = "examSubjects")] ExamsClassesSubjectViewModel model) { if (!LoginStatus()) { return(RedirectToAction("Login", "Admins", null)); } if (ModelState.IsValid) { if (model.examSubjects != null) { foreach (var item in model.examSubjects) { Exam exam = _db.Exams.Find(item.ExamId); Subject subject = _db.Subjects.Find(item.SubjectId); bool Exists = _db.ExamSubjects.Any(d => d.ExamId == item.ExamId && d.ExamSubjectId == item.ExamSubjectId); ExamSubject addModel = new ExamSubject() { AvgMarks = item.AvgMarks, ExamMarks = item.ExamMarks, ExamSubjectId = item.ExamSubjectId, Percentages = item.Percentages, Exam = exam, ExamId = item.ExamId, Subject = subject, SubjectId = item.SubjectId }; if (addModel.AvgMarks <= addModel.ExamMarks) { if (!Exists) { _db.ExamSubjects.Add(addModel); } else { _db.Entry(addModel).State = EntityState.Modified; } } else { return(Json("Error: cause of some wrong information feeded.")); } _db.SaveChanges(); } return(Json("")); } else { return(Json("Model is not valid.")); } } else { return(Json("Model is not valid.")); } }
public ActionResult SubjectDisplay(long?id, long?examid) { if (!LoginStatus()) { return(RedirectToAction("Login", "Admins", null)); } ExamsClassesSubjectViewModel model = new ExamsClassesSubjectViewModel() { Exam = _db.Exams.Find(examid), Classess = _db.Classess.Find(id), examSubjects = new List <ExamSubject>() }; List <ExamSubject> examSubjects = _db.ExamSubjects.Where(d => d.ExamId == examid).ToList(); List <Subject> subjectList = _db.Subjects.Where(d => d.ClassesId == id).ToList(); int totalpercentage, totalavgmarks, totalmarks; totalpercentage = totalavgmarks = totalmarks = 0; foreach (var subject in subjectList) { ExamSubject findVal = examSubjects.Where(d => d.SubjectId == subject.SubjectId && d.ExamId == examid).FirstOrDefault(); ExamSubject addModel = new ExamSubject() { AvgMarks = findVal != null ? findVal.AvgMarks : 0, Exam = model.Exam, ExamId = (long)examid, ExamMarks = findVal != null ? findVal.ExamMarks : 0, ExamSubjectId = findVal != null ? findVal.ExamSubjectId : 0, Percentages = findVal != null ? findVal.Percentages : 0, Subject = subject, SubjectId = subject.SubjectId }; totalavgmarks += addModel.AvgMarks; totalmarks += addModel.ExamMarks; model.examSubjects.Add(addModel); } if (totalavgmarks != 0 && totalmarks != 0) { totalpercentage = ((totalavgmarks * 100) / totalmarks); } model.TotalAvg = totalavgmarks; model.TotalMarks = totalmarks; model.TotalPercentage = totalpercentage; return(View(model)); }