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));
        }