public ActionResult Create(IEnumerable <long> checkGraduation_Reg_Temp_IdToAdd, short Graduation_Period_Id, short?Department_Id, string tampil)
        {
            if (ModelState.IsValid)
            {
                if (checkGraduation_Reg_Temp_IdToAdd != null)
                {
                    foreach (var i in checkGraduation_Reg_Temp_IdToAdd)
                    {
                        Acd_Graduation_Reg reg = new Acd_Graduation_Reg();

                        var acd_Graduation_Reg_Temp = db.Acd_Graduation_Reg_Temp.Where(x => x.Graduation_Reg_Temp_Id == i)
                                                      .Select(x => new
                        {
                            Student_Id         = x.Student_Id,
                            Register_Status_Id = x.Acd_Student.Register_Status_Id
                        }).FirstOrDefault();

                        reg.Student_Id            = acd_Graduation_Reg_Temp.Student_Id;
                        reg.Graduation_Periode_Id = Graduation_Period_Id;
                        reg.Register_Status_Id    = acd_Graduation_Reg_Temp.Register_Status_Id;

                        db.Acd_Graduation_Reg.Add(reg);
                        db.SaveChanges();
                    }
                }
            }
            return(RedirectToAction("Index", new { Graduation_Period_Id = Graduation_Period_Id, Department_Id = Department_Id, tampil = tampil }));
        }
        public ActionResult DeleteConfirmed(long id, string tampil)
        {
            Acd_Graduation_Reg acd_Graduation_Reg = db.Acd_Graduation_Reg.Find(id);
            var Department_Id         = acd_Graduation_Reg.Acd_Student.Department_Id;
            var Graduation_Periode_Id = acd_Graduation_Reg.Graduation_Periode_Id;

            db.Acd_Graduation_Reg.Remove(acd_Graduation_Reg);
            db.SaveChanges();
            return(RedirectToAction("Index", new
            {
                Graduation_Period_Id = Graduation_Periode_Id,
                Department_Id = Department_Id,
                tampil = tampil
            }));
        }
        // POST: GraduationReg/Edit/5
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        //public ActionResult Edit([Bind(Include = "Graduation_Reg_Id,Graduation_Periode_Id,Student_Id,Age_Year,Age_Month,Age_Day,Age_Year_Length,Age_Day_Length,Study_Length_Year,Study_Length_Month,Study_Length_Day,Study_Length_Sum_Year,Study_Length_Sum_Day,Total_Smt_Vacation,Total_Smt_Study,Register_Status_Id,Reg_Date,Created_By,Created_Date,Modified_By,Modified_Date")] Acd_Graduation_Reg acd_Graduation_Reg)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        db.Entry(acd_Graduation_Reg).State = EntityState.Modified;
        //        db.SaveChanges();
        //        return RedirectToAction("Index");
        //    }
        //    ViewBag.Graduation_Periode_Id = new SelectList(db.Acd_Graduation_Period, "Graduation_Period_Id", "Period_Name", acd_Graduation_Reg.Graduation_Periode_Id);
        //    ViewBag.Register_Status_Id = new SelectList(db.Mstr_Register_Status, "Register_Status_Id", "Register_Status_Name", acd_Graduation_Reg.Register_Status_Id);
        //    return View(acd_Graduation_Reg);
        //}

        // GET: GraduationReg/Delete/5
        public ActionResult Delete(long?id, string tampil)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Acd_Graduation_Reg acd_Graduation_Reg = db.Acd_Graduation_Reg.Find(id);

            if (acd_Graduation_Reg == null)
            {
                return(HttpNotFound());
            }
            ViewBag.tampil = tampil;
            return(View(acd_Graduation_Reg));
        }
        // GET: GraduationReg/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Acd_Graduation_Reg acd_Graduation_Reg = db.Acd_Graduation_Reg.Find(id);

            if (acd_Graduation_Reg == null)
            {
                return(HttpNotFound());
            }

            IQueryable <Vm_GraduationReg_Standar> vm_GraduationReg_Standar = from a in db.Acd_Graduation_Reg
                                                                             join b in db.Acd_Student on a.Student_Id equals b.Student_Id

                                                                             join b1 in db.Mstr_Gender on b.Gender_Id equals b1.Gender_Id into genderGroup
                                                                             from b1x in genderGroup.DefaultIfEmpty()

                                                                             join c in db.Acd_Graduation_Reg_Temp on a.Student_Id equals c.Student_Id into grt
                                                                             from cx in grt.DefaultIfEmpty()

                                                                             //join d in db.Mstr_Graduate_Predicate on a.Graduate_Predicate_Id equals d.Graduate_Predicate_Id into mgp
                                                                             //from dx in mgp.DefaultIfEmpty()

                                                                             join e in db.Mstr_Register_Status on a.Register_Status_Id equals e.Register_Status_Id into mrs
                                                                             from ex in mrs.DefaultIfEmpty()

                                                                             join f in db.Acd_Yudisium on a.Student_Id equals f.Student_Id into ay
                                                                             from fx in ay.DefaultIfEmpty()

                                                                             join f1 in db.Mstr_Graduate_Predicate on fx.Graduate_Predicate_Id equals f1.Graduate_Predicate_Id into mgp
                                                                             from f1x in mgp.DefaultIfEmpty()

                                                                             //join g in db.Acd_Graduation_Final on a.Student_Id equals g.Student_Id into agf
                                                                             //from gx in agf.DefaultIfEmpty()

                                                                             join b2 in db.Mstr_Term on b.Entry_Term_Id equals b2.Term_Id into mt
                                                                             from b2x in mt.DefaultIfEmpty()

                                                                             //lengkap
                                                                             //=================================
                                                                             join h in db.Acd_Thesis on a.Student_Id equals h.Student_Id into at
                                                                             from hx in at.DefaultIfEmpty()

                                                                             //join h1 in db.Emp_Employee on hx.Supervisor_1 equals h1.Employee_Id into empSup1
                                                                             //from h1x in empSup1.DefaultIfEmpty()

                                                                             //join h2 in db.Emp_Employee on hx.Supervisor_2 equals h2.Employee_Id into empSup2
                                                                             //from h2x in empSup2.DefaultIfEmpty()

                                                                             //join h3 in db.Emp_Employee on hx.Examiner_1 equals h3.Employee_Id into empExam1
                                                                             //from h3x in empExam1.DefaultIfEmpty()

                                                                             //join h4 in db.Emp_Employee on hx.Examiner_2 equals h4.Employee_Id into empExam2
                                                                             //from h4x in empExam2.DefaultIfEmpty()
                                                                             //=================================

                                                                             where a.Graduation_Reg_Id == id
                                                                             select new Vm_GraduationReg_Standar
            {
                Graduation_Reg_Id = a.Graduation_Reg_Id,
                Student_Id        = b.Student_Id,
                Nim                  = b.Nim,
                Entry_Year_Code      = b.Mstr_Entry_Year.Entry_Year_Code,
                Term_Name            = b2x.Term_Name,
                Full_Name            = b.Full_Name,
                Birth_Place          = b.Birth_Place,
                Birth_Date           = b.Birth_Date,
                Gender_Type          = b1x.Gender_Type,
                Thesis_Exam_Date     = hx.Thesis_Exam_Date,
                Yudisium_Date        = fx.Yudisium_Date,
                Gpa                  = cx.Gpa,
                Total_Smt_Vacation   = fx.Study_Smt_Off_Length,
                Thesis_Title         = cx.Thesis_Title,
                Address_0            = cx.Address_0,
                Phone                = cx.Phone,
                Email                = cx.Email,
                Parent_Name          = cx.Parent_Name,
                Register_Status_Name = ex.Register_Status_Name,
                Sk_Num               = fx.Sk_Num,
                Transcript_Num       = fx.Transcript_Num,
            };

            return(View(vm_GraduationReg_Standar.FirstOrDefault()));
        }