public ActionResult DeleteConfirmed(int id)
 {
     ExamAttendance examattendance = db.ExamAttendances.Find(id);
     db.ExamAttendances.Remove(examattendance);
     db.SaveChanges();
     return RedirectToAction("Index");
 }
        public ActionResult Edit(ExamAttendance examattendance)
        {
            try
            {
                if (ModelState.IsValid)
                {

                    ExamAttendance update = db.ExamAttendances.Where(t => t.Id == examattendance.Id).SingleOrDefault();

                    update.Present = examattendance.Present;

                    db.Entry(update).State = EntityState.Modified;
                    db.SaveChanges();

                    TempData["ok"] = "ok";
                    TempData["message"] = "<span class=\"color-green\">Successfully Saved!</span>";
                    return RedirectToAction("Index");
                }
                return View(examattendance);
            }
            catch (Exception ex)
            {
                TempData["message"] = "<span class=\"color-red\">" + ex.Message + "</span>";
                return RedirectToAction("Index");
            }
        }
 // GET: /ExamAttendence/Delete/5
 public ActionResult Delete(int? id)
 {
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     ExamAttendance examattendance = db.ExamAttendances.Find(id);
     if (examattendance == null)
     {
         return HttpNotFound();
     }
     return View(examattendance);
 }
        //public ActionResult Create(ExamAttendance examattendance)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        examattendance.EntryBy = User.Identity.Name;
        //        examattendance.EntryDate = DateTime.Now;

        //        db.ExamAttendances.Add(examattendance);
        //        db.SaveChanges();
        //        return RedirectToAction("Index");
        //    }

        //    return View(examattendance);
        //}

        // GET: /ExamAttendence/Edit/5
        public ActionResult Edit(int? id)
        {
           try{

            ExamAttendance examattendance = db.ExamAttendances.Find(id);        
            examattendance.StudentName = db.StudentInfoes.Find(examattendance.StudentId).StudentName;

            ViewBag.Class_Id = new SelectList(db.ClassInfoes.ToList(), "Id", "ClassName",examattendance.ClassId);
            ViewBag.Faculty_Id = new SelectList(db.FacultyInfoes.ToList(), "Id", "FacultyName",examattendance.FacultyId);

            ViewBag.Status = new SelectList(EditList(), "Id", "Text", examattendance.Present);
       
            return View(examattendance);
              }
            catch (Exception ex)
            {
                TempData["message"] = "<span class=\"color-red\">" + ex.Message + "</span>";
                return RedirectToAction("Index");
            }
        }
        public ActionResult Create(View_Attendence model, string SubjectId)
        {
            //if isCheck On that mean its check
         try            
          {

            if (model.ClassId > 0 && model.FacultyId > 0 && model.SubjectId > 0 && model.StuList.Count > 0)
            {
                foreach (var item in model.StuList)
                {
                    ExamAttendance newObj = new ExamAttendance();
                    if (item.IsCheck == "on")
                    {
                        newObj.Present = "Y";

                    }
                    else {
                        newObj.Present = "N";
                    }

                    newObj.ClassId = model.ClassId;
                    newObj.EntryBy = User.Identity.Name;
                    newObj.EntryDate = DateTime.Now;
                    newObj.FacultyId = model.FacultyId;
                    newObj.SubjectId = model.SubjectId;

                    newObj.StudentId = item.StudentId;

                    //first try to get duplicate if found the update else save

                    ExamAttendance prvObj = db.ExamAttendances.Where(t => t.ClassId == model.ClassId && t.FacultyId == model.FacultyId && t.SubjectId == model.SubjectId
                                            && t.StudentId == item.StudentId).SingleOrDefault();

                    if (prvObj != null)
                    {
                        prvObj.Present = newObj.Present;
                        db.Entry(prvObj).State = EntityState.Modified;
                    }
                    else
                    {
                        db.ExamAttendances.Add(newObj);
                    }
             
                }
               
                db.SaveChanges();
                TempData["ok"] = "ok";
                TempData["message"] = "<span class=\"color-green\">Successfully Saved!</span>";
            }
            else {

                TempData["ok"] = "";
                ViewBag.Message = "<span class=\"color-red\">One more validation Error.</span>";
            }

           }
            catch (Exception ex)
            {
                TempData["message"] = "<span class=\"color-red\">" + ex.InnerException.Message+ "</span>";                
            }
           return RedirectToAction("Index");
        }