Esempio n. 1
0
        public ActionResult Create()
        {
            try
            {
                ViewBag.ExamId  = new SelectList(db.ExamInfoes.ToList().Where(t => t.ExamStatus == "Y"), "Id", "ExamName");
                ViewBag.Faculty = new SelectList(db.FacultyInfoes.ToList(), "Id", "FacultyName");

                View_Result model = new View_Result();
                model.StuList = new List <View_ResultDetails>();

                return(View(model));
            }
            catch (Exception ex)
            {
                TempData["message"] = "<span class=\"color-red\">" + ex.Message + "</span>";
                return(RedirectToAction("Index"));
            }
        }
Esempio n. 2
0
        public ActionResult Create(View_Result model)
        {
            try
            {
                if (model.DeparmentId > 0 && model.ExamId > 0 && model.Subject > 0 && model.StuList.Count > 0)
                {
                    ExamResult update;
                    foreach (var item in model.StuList)
                    {
                        //if (item.IsCheck == "on")
                        //{

                        if (item.CQ != null)
                        {
                            ExamResult newResult = new ExamResult();

                            newResult.EntryBy   = User.Identity.Name;
                            newResult.EntryDate = DateTime.Now;

                            newResult.ExamId      = model.ExamId;
                            newResult.StudentId   = item.StudentId;
                            newResult.SubjectId   = model.Subject;
                            newResult.ExamTypeId  = db.ExamTypeInfos.Where(t => t.ExamTypeName == "CQ").SingleOrDefault().ExamTypeId;
                            newResult.MarksObtain = item.CQ.Value;

                            //find if previous record found then delete
                            update = new ExamResult();
                            update = db.ExamResults.Where(t => t.ExamId == newResult.ExamId &&
                                                          t.StudentId == newResult.StudentId &&
                                                          t.SubjectId == newResult.SubjectId &&
                                                          t.ExamTypeId == newResult.ExamTypeId
                                                          ).SingleOrDefault();
                            if (update != null)
                            {
                                update.MarksObtain     = item.CQ.Value;
                                db.Entry(update).State = EntityState.Modified;
                            }
                            else
                            {
                                db.ExamResults.Add(newResult);
                            }
                        }
                        if (item.MCQ != null)
                        {
                            ExamResult newResult = new ExamResult();

                            newResult.EntryBy   = User.Identity.Name;
                            newResult.EntryDate = DateTime.Now;

                            newResult.ExamId      = model.ExamId;
                            newResult.StudentId   = item.StudentId;
                            newResult.SubjectId   = model.Subject;
                            newResult.ExamTypeId  = db.ExamTypeInfos.Where(t => t.ExamTypeName == "MCQ").SingleOrDefault().ExamTypeId;
                            newResult.MarksObtain = item.MCQ.Value;

                            //find if previous record found then delete
                            update = new ExamResult();
                            update = db.ExamResults.Where(t => t.ExamId == newResult.ExamId &&
                                                          t.StudentId == newResult.StudentId &&
                                                          t.SubjectId == newResult.SubjectId &&
                                                          t.ExamTypeId == newResult.ExamTypeId
                                                          ).SingleOrDefault();
                            if (update != null)
                            {
                                update.MarksObtain     = item.CQ.Value;
                                db.Entry(update).State = EntityState.Modified;
                            }
                            else
                            {
                                db.ExamResults.Add(newResult);
                            }
                        }
                        if (item.Practical != null)
                        {
                            ExamResult newResult = new ExamResult();

                            newResult.EntryBy   = User.Identity.Name;
                            newResult.EntryDate = DateTime.Now;

                            newResult.ExamId      = model.ExamId;
                            newResult.StudentId   = item.StudentId;
                            newResult.SubjectId   = model.Subject;
                            newResult.ExamTypeId  = db.ExamTypeInfos.Where(t => t.ExamTypeName == "Practical").SingleOrDefault().ExamTypeId;
                            newResult.MarksObtain = item.Practical.Value;

                            //find if previous record found then delete
                            update = new ExamResult();
                            update = db.ExamResults.Where(t => t.ExamId == newResult.ExamId &&
                                                          t.StudentId == newResult.StudentId &&
                                                          t.SubjectId == newResult.SubjectId &&
                                                          t.ExamTypeId == newResult.ExamTypeId
                                                          ).SingleOrDefault();
                            if (update != null)
                            {
                                update.MarksObtain     = item.CQ.Value;
                                db.Entry(update).State = EntityState.Modified;
                            }
                            else
                            {
                                db.ExamResults.Add(newResult);
                            }
                        }
                        // }
                    }//end loop

                    db.SaveChanges();
                    TempData["ok"]      = "ok";
                    TempData["message"] = "<span class=\"color-green\">Successfully Saved!</span>";
                }
            }
            catch (Exception ex)
            {
                TempData["message"] = "<span class=\"color-red\">" + ex.Message + "</span>";
            }

            return(RedirectToAction("Index"));
        }