public ActionResult Edit([Bind(Include = "Id,SubjectName,ClassID,TeacherID,IsMandatory,Points")] AspNetSubject aspNetSubject)
        {
            var class_id = db.AspNetClasses.Where(x => x.SessionID == SessionID).FirstOrDefault().Id;

            aspNetSubject.ClassID = class_id;
            try
            {
                var IsMan = Request.Form["IsMandatory"];
                if (IsMan == null)
                {
                    aspNetSubject.IsManadatory = false;
                }
                else
                {
                    aspNetSubject.IsManadatory = true;
                }

                aspNetSubject.CourseType = Request.Form["CourseType"];
                if (ModelState.IsValid)
                {
                    db.Entry(aspNetSubject).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("ClassIndex"));
                }
                ViewBag.ClassID   = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetSubject.ClassID);
                ViewBag.TeacherID = new SelectList(db.AspNetUsers, "Id", "Email", aspNetSubject.TeacherID);
                return(View(aspNetSubject));
            }
            catch (Exception e)
            {
                ViewBag.Error = e.Message;
                return(RedirectToAction("Edit", aspNetSubject));
            }
        }
        public ActionResult Create([Bind(Include = "Id,SubjectName,ClassID,TeacherID")] AspNetSubject aspNetSubject)
        {
            var TransactionObj = db.Database.BeginTransaction();

            try
            {
                if (ModelState.IsValid)
                {
                    db.AspNetSubjects.Add(aspNetSubject);
                    db.SaveChanges();
                }
                TransactionObj.Commit();
                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                var        UserNameLog = User.Identity.Name;
                AspNetUser a           = db.AspNetUsers.First(x => x.UserName == UserNameLog);
                string     UserIDLog   = a.Id;
                string     user        = db.AspNetUsers.Where(x => x.Id == aspNetSubject.TeacherID).Select(x => x.Name).FirstOrDefault();
                var        logMessage  = "New Subject Added, SubjectName: " + aspNetSubject.SubjectName + ", ClassID: " + aspNetSubject.ClassID + ", TeacherName: " + user;

                var LogControllerObj = new AspNetLogsController();
                LogControllerObj.CreateLogSave(logMessage, UserIDLog);
                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                return(RedirectToAction("ClassIndexs"));
            }
            catch {
                TransactionObj.Dispose();

                ViewBag.ClassID   = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetSubject.ClassID);
                ViewBag.TeacherID = new SelectList(db.AspNetUsers.Where(x => x.AspNetRoles.Select(y => y.Name).Contains("Teacher")), "Id", "Name");

                return(View("Create", aspNetSubject));
            }
        }
        //***************************************************************************************************************************************//


        // GET: AspNetSubject/Details/5
        public ActionResult Details(int id)
        {
            AspNetSubject aspNetSubject = db.AspNetSubjects.Where(x => x.Id == id).Select(x => x).FirstOrDefault();

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

            var teachers = (from teacher in db.AspNetUsers.Where(x => x.Status != "False")
                            join t2 in db.AspNetUsers_Session.Where(s => s.SessionID == SessionID)
                            on teacher.Id equals t2.UserID
                            where teacher.AspNetRoles.Select(y => y.Name).Contains("Teacher")
                            select new
            {
                teacher.Id,
                teacher.Name,
            }).ToList();

            ViewBag.IsMand = aspNetSubject.IsManadatory;
            ViewBag.Points = aspNetSubject.Points;

            ViewBag.ClassID   = new SelectList(db.AspNetClasses.Where(x => x.SessionID == SessionID), "Id", "ClassName", aspNetSubject.ClassID);
            ViewBag.TeacherID = new SelectList(teachers, aspNetSubject.TeacherID);

            return(View(aspNetSubject));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            AspNetSubject aspNetSubject = db.AspNetSubjects.Find(id);

            db.AspNetSubjects.Remove(aspNetSubject);
            db.SaveChanges();
            return(RedirectToAction("ClassIndex"));
        }
Esempio n. 5
0
 public ActionResult Edit([Bind(Include = "Id,SubjectName,ClassID,TeacherID")] AspNetSubject aspNetSubject)
 {
     if (ModelState.IsValid)
     {
         db.Entry(aspNetSubject).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ClassID   = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetSubject.ClassID);
     ViewBag.TeacherID = new SelectList(db.AspNetUsers, "Id", "Email", aspNetSubject.TeacherID);
     return(View(aspNetSubject));
 }
Esempio n. 6
0
        public ActionResult Create([Bind(Include = "Id,SubjectName,ClassID,TeacherID")] AspNetSubject aspNetSubject)
        {
            if (ModelState.IsValid)
            {
                db.AspNetSubjects.Add(aspNetSubject);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ClassID   = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetSubject.ClassID);
            ViewBag.TeacherID = new SelectList(db.AspNetUsers.Where(x => x.AspNetRoles.Select(y => y.Name).Contains("Teacher")), "Id", "Name");
            return(View(aspNetSubject));
        }
        // GET: AspNetSubject/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AspNetSubject aspNetSubject = db.AspNetSubjects.Find(id);

            if (aspNetSubject == null)
            {
                return(HttpNotFound());
            }
            return(View(aspNetSubject));
        }
        public ActionResult SubjectfromFile(AspNetSubject aspNetSubject)
        {
            var dbTransaction = db.Database.BeginTransaction();

            try
            {
                HttpPostedFileBase file = Request.Files["subjects"];
                if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
                {
                    string fileName        = file.FileName;
                    string fileContentType = file.ContentType;
                    byte[] fileBytes       = new byte[file.ContentLength];
                    var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));
                }
                var studentList = new List <RegisterViewModel>();
                using (var package = new ExcelPackage(file.InputStream))
                {
                    var currentSheet = package.Workbook.Worksheets;
                    var workSheet    = currentSheet.First();
                    var noOfCol      = workSheet.Dimension.End.Column;
                    var noOfRow      = workSheet.Dimension.End.Row;

                    for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++)
                    {
                        var    Subject     = new AspNetSubject();
                        string TeacherName = workSheet.Cells[rowIterator, 2].Value.ToString();
                        var    Teacher     = (from users in db.AspNetUsers
                                              where users.UserName == TeacherName
                                              select users).First();

                        var ClassName = workSheet.Cells[rowIterator, 3].Value.ToString();
                        var Class     = (from classes in db.AspNetClasses
                                         where classes.ClassName == ClassName
                                         select classes).First();

                        Subject.SubjectName = workSheet.Cells[rowIterator, 1].Value.ToString();
                        Subject.TeacherID   = Teacher.Id;
                        Subject.ClassID     = Class.Id;
                        db.AspNetSubjects.Add(Subject);
                        db.SaveChanges();
                    }
                }
                dbTransaction.Commit();

                return(RedirectToAction("Index"));
            }
            catch (Exception e) { dbTransaction.Dispose(); }

            return(View("Create", aspNetSubject));
        }
        // GET: AspNetSubject/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AspNetSubject aspNetSubject = db.AspNetSubjects.Find(id);

            if (aspNetSubject == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ClassID   = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetSubject.ClassID);
            ViewBag.TeacherID = new SelectList(db.AspNetUsers, "Id", "Name", aspNetSubject.TeacherID);
            return(View(aspNetSubject));
        }
        public JsonResult SubjectsByClass(int ClassId)
        {
            db.Configuration.ProxyCreationEnabled = false;
            //List<AspNetSubject> sub = db.AspNetSubjects.Where(r => r.ClassID == id && r.CourseType == coursetype).OrderByDescending(r => r.Id).ToList();
            //ViewBag.Subjects = sub;
            AspNetSubject sub = new AspNetSubject();


            var MandatorySubjects = db.AspNetSubjects.Where(x => x.ClassID == ClassId && (x.CourseType == "PMS" || x.CourseType == "CSS") && x.IsManadatory == true).OrderBy(x => x.CourseType);

            var OptionalSubjects = db.AspNetSubjects.Where(x => x.ClassID == ClassId && (x.CourseType == "PMS" || x.CourseType == "CSS") && x.IsManadatory == false).OrderBy(x => x.CourseType);



            return(Json(new
            {
                MandatorySubjectsList = MandatorySubjects,
                OptionalSubjectsList = OptionalSubjects,
            }, JsonRequestBehavior.AllowGet));
        }
        // GET: AspNetSubject/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AspNetSubject aspNetSubject = db.AspNetSubjects.Find(id);

            if (aspNetSubject == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ClassID      = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetSubject.ClassID);
            ViewBag.TeacherID    = new SelectList(db.AspNetUsers.Where(x => x.AspNetRoles.Select(y => y.Name).Contains("Teacher") && x.AspNetUsers_Session.Any(z => z.SessionID == SessionID)), "Id", "Name");
            ViewBag.SubjectGroup = aspNetSubject.SubjectGroup;
            var IsMandatory = aspNetSubject.IsManadatory;

            ViewBag.IsMandatory = aspNetSubject.IsManadatory;

            // ViewBag.TeacherID = new SelectList(db.AspNetUsers, "Id", "Name", aspNetSubject.TeacherID);
            return(View(aspNetSubject));
        }
        public ActionResult SubjectfromFile(AspNetSubject aspNetSubject)
        {
            string ErrorMsg      = null;
            var    dbTransaction = db.Database.BeginTransaction();

            try
            {
                HttpPostedFileBase file = Request.Files["subjects"];
                if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
                {
                    string fileName        = file.FileName;
                    string fileContentType = file.ContentType;
                    byte[] fileBytes       = new byte[file.ContentLength];
                    var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));
                }
                var studentList = new List <RegisterViewModel>();
                using (var package = new ExcelPackage(file.InputStream))
                {
                    var currentSheet = package.Workbook.Worksheets;
                    var workSheet    = currentSheet.First();
                    var noOfCol      = workSheet.Dimension.End.Column;
                    var noOfRow      = workSheet.Dimension.End.Row;

                    for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++)
                    {
                        var Subject = new AspNetSubject();
                        // string TeacherName = workSheet.Cells[rowIterator, 2].Value.ToString();
                        //var Teacher = (from users in db.AspNetUsers
                        //               where users.UserName == TeacherName
                        //               select users).First();

                        var ClassName = workSheet.Cells[rowIterator, 2].Value.ToString();
                        var Class     = (from classes in db.AspNetClasses
                                         where classes.ClassName == ClassName
                                         select classes).First();

                        Subject.SubjectName = workSheet.Cells[rowIterator, 1].Value.ToString();
                        Subject.Points      = Int32.Parse(workSheet.Cells[rowIterator, 3].Value.ToString());
                        string Manad = workSheet.Cells[rowIterator, 4].Value.ToString();
                        bool   value;
                        if (Manad == "Yes")
                        {
                            value = true;
                        }
                        else
                        {
                            value = false;
                        }
                        Subject.CourseType   = workSheet.Cells[rowIterator, 8].Value.ToString();
                        Subject.IsManadatory = value;
                        Subject.SubjectName  = workSheet.Cells[rowIterator, 1].Value.ToString();
                        //Subject.TeacherID = Teacher.Id;
                        Subject.ClassID = Class.Id;
                        db.AspNetSubjects.Add(Subject);
                        if (db.SaveChanges() > 0)
                        {
                            AspNetTeacherSubject teacher = new AspNetTeacherSubject();
                            string Teacher1    = workSheet.Cells[rowIterator, 5].Value.ToString();
                            var    u_id        = db.AspNetUsers.Where(x => x.UserName == Teacher1).FirstOrDefault().Id;
                            int    teacher1_id = db.AspNetEmployees.Where(x => x.UserId == u_id).FirstOrDefault().Id;
                            int    s_id        = db.AspNetSubjects.Where(x => x.SubjectName == Subject.SubjectName).FirstOrDefault().Id;

                            teacher.TeacherID = teacher1_id;
                            teacher.SubjectID = s_id;
                            db.AspNetTeacherSubjects.Add(teacher);
                            if (db.SaveChanges() > 0)
                            {
                                AspNetTeacherSubject teacher2 = new AspNetTeacherSubject();
                                if (workSheet.Cells[rowIterator, 6].Value != null)
                                {
                                    string Teacher2    = workSheet.Cells[rowIterator, 6].Value.ToString();
                                    var    u_id2       = db.AspNetUsers.Where(x => x.UserName == Teacher2).FirstOrDefault().Id;
                                    int    teacher2_id = db.AspNetEmployees.Where(x => x.UserId == u_id2).FirstOrDefault().Id;
                                    int    s_id2       = db.AspNetSubjects.Where(x => x.SubjectName == Subject.SubjectName).FirstOrDefault().Id;
                                    teacher2.TeacherID = teacher2_id;
                                    teacher2.SubjectID = s_id2;
                                    db.AspNetTeacherSubjects.Add(teacher2);

                                    if (db.SaveChanges() > 0)
                                    {
                                        AspNetTeacherSubject teacher3 = new AspNetTeacherSubject();
                                        if (workSheet.Cells[rowIterator, 7].Value != null)
                                        {
                                            string Teacher3    = workSheet.Cells[rowIterator, 7].Value.ToString();
                                            var    u_id3       = db.AspNetUsers.Where(x => x.UserName == Teacher3).FirstOrDefault().Id;
                                            int    teacher3_id = db.AspNetEmployees.Where(x => x.UserId == u_id3).FirstOrDefault().Id;
                                            int    s_id3       = db.AspNetSubjects.Where(x => x.SubjectName == Subject.SubjectName).FirstOrDefault().Id;
                                            teacher3.TeacherID = teacher3_id;
                                            teacher3.SubjectID = s_id3;
                                            db.AspNetTeacherSubjects.Add(teacher3);
                                            db.SaveChanges();
                                        }
                                    }
                                }
                            }
                        }
                    }
                    dbTransaction.Commit();

                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception e) { dbTransaction.Dispose(); }

            return(View("Create", aspNetSubject));
        }
        public ActionResult Create([Bind(Include = "Id,SubjectName,ClassID,TeacherID")] AspNetSubject aspNetSubject)
        {
            var CourseType = Convert.ToString(Request.Form["CourseType"]);
            var class_id   = db.AspNetClasses.Where(x => x.SessionID == SessionID).FirstOrDefault().Id;

            aspNetSubject.ClassID    = class_id;
            aspNetSubject.CourseType = Request.Form["CourseType"];
            string IsMandatory = Request.Form["IsMandatory"];

            aspNetSubject.Points = Int32.Parse(Request.Form["Points"]);


            if (IsMandatory == "on")
            {
                aspNetSubject.IsManadatory = true;
            }
            else
            {
                aspNetSubject.IsManadatory = false;

                if (CourseType == "CSS")
                {
                    aspNetSubject.SubjectGroup = Convert.ToString(Request.Form["CSSGroup"]);
                }
                else
                {
                    aspNetSubject.SubjectGroup = Convert.ToString(Request.Form["PMSGroup"]);
                }
            }


            var TransactionObj = db.Database.BeginTransaction();

            try
            {
                if (ModelState.IsValid)
                {
                    db.AspNetSubjects.Add(aspNetSubject);
                    db.SaveChanges();
                }
                TransactionObj.Commit();
                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                var        UserNameLog = User.Identity.Name;
                AspNetUser a           = db.AspNetUsers.First(x => x.UserName == UserNameLog);
                string     UserIDLog   = a.Id;
                string     user        = db.AspNetUsers.Where(x => x.Id == aspNetSubject.TeacherID).Select(x => x.Name).FirstOrDefault();
                var        logMessage  = "New Subject Added, SubjectName: " + aspNetSubject.SubjectName + ", ClassID: " + aspNetSubject.ClassID + ", TeacherName: " + user;

                //string[] SelectedTeachers = Request.Form["TotalTeachers"].Split(',');

                //    var class_id = db.AspNetClasses.Where(x => x.SessionID == SessionID).FirstOrDefault().Id;
                //  var sub_id = db.AspNetSubjects.Where(x => x.SubjectName == aspNetSubject.SubjectName && x.ClassID == class_id).FirstOrDefault().Id;

                var teacherid = db.AspNetEmployees.Where(x => x.UserId == aspNetSubject.TeacherID).FirstOrDefault().Id;


                //var SelectedTeahcersFromDB = db.AspNetEmployees.Where(x=> SelectedTeachers.Contains(x.UserId)).ToList();


                //foreach(var Emplyee in SelectedTeahcersFromDB)
                //{

                // assign subject to teacher start

                /*
                 * AspNetTeacherSubject ts = new AspNetTeacherSubject();
                 *
                 *
                 * ts.TeacherID = teacherid;
                 * ts.SubjectID = aspNetSubject.Id;
                 * db.AspNetTeacherSubjects.Add(ts);
                 * db.SaveChanges();
                 */

                // assign subject to teachers end //

                //}

                var LogControllerObj = new AspNetLogsController();
                LogControllerObj.CreateLogSave(logMessage, UserIDLog);
                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                return(RedirectToAction("ClassIndexs"));
            }
            catch
            {
                TransactionObj.Dispose();

                ViewBag.ClassID   = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetSubject.ClassID);
                ViewBag.TeacherID = new SelectList(db.AspNetUsers.Where(x => x.AspNetRoles.Select(y => y.Name).Contains("Teacher")), "Id", "Name");

                return(View("Create", aspNetSubject));
            }
        }
        public ActionResult TimeTableFromFile()
        {
            var dbTransaction = db.Database.BeginTransaction();

            HttpPostedFileBase file = Request.Files["subjects"];

            if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
            {
                string fileName        = file.FileName;
                string fileContentType = file.ContentType;
                byte[] fileBytes       = new byte[file.ContentLength];
                var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));
            }
            var studentList = new List <RegisterViewModel>();

            using (var package = new ExcelPackage(file.InputStream))
            {
                var currentSheet = package.Workbook.Worksheets;
                var workSheet    = currentSheet.First();
                var noOfCol      = workSheet.Dimension.End.Column;
                var noOfRow      = workSheet.Dimension.End.Row;

                string ErrorMsg = null;
                int    rowIterator;
                for (rowIterator = 2; rowIterator <= noOfRow; rowIterator++)
                {
                    var TimeTable   = new AspNetTimeTable();
                    var SessionName = workSheet.Cells[rowIterator, 6].Value.ToString();
                    int GetSessionID;
                    int GetClassID;

                    AspNetSession Session = db.AspNetSessions.Where(x => x.SessionName == SessionName).FirstOrDefault();

                    if (Session == null)
                    {
                        ErrorMsg = "Error in Row " + Convert.ToString(rowIterator - 1) + " Session Name is not valid or empty";

                        TempData["ErrorMsg"] = ErrorMsg;

                        return(RedirectToAction("Create", "AspNetTimeTable"));
                    }
                    else
                    {
                        GetSessionID = Session.Id;
                        GetClassID   = db.AspNetClasses.Where(x => x.SessionID == GetSessionID).Select(x => x.Id).FirstOrDefault();
                    }

                    var CourseType = workSheet.Cells[rowIterator, 5].Value.ToString();

                    var CourseTypeLower = CourseType.ToLower();

                    if (CourseTypeLower == "css" || CourseTypeLower == "pms")
                    {
                        //valid course Type css or pms
                    }
                    else
                    {
                        ErrorMsg             = "Error in Row " + Convert.ToString(rowIterator - 1) + "Course Type  is not valid or empty";
                        TempData["ErrorMsg"] = ErrorMsg;
                        return(RedirectToAction("Create", "AspNetTimeTable"));
                    }

                    var RoomName = workSheet.Cells[rowIterator, 1].Value.ToString();
                    //RoomID;
                    int        RoomID = db.AspNetRooms.Where(x => x.Name == RoomName).FirstOrDefault().Id;
                    AspNetRoom room   = new AspNetRoom();

                    room = db.AspNetRooms.Where(x => x.Name == RoomName).FirstOrDefault();

                    if (room == null)
                    {
                        ErrorMsg = "Error in Row " + Convert.ToString(rowIterator - 1) + "Room Name is not valid or empty";

                        TempData["ErrorMsg"] = ErrorMsg;

                        return(RedirectToAction("Create", "AspNetTimeTable"));
                    }
                    else
                    {
                        RoomID = room.Id;
                    }

                    var SlotName = workSheet.Cells[rowIterator, 2].Value.ToString();
                    //var SlotID = db.AspNetTimeslots.Where(x => x.Name == SlotName).FirstOrDefault().Id;

                    int            SlotID = db.AspNetTimeslots.Where(x => x.Name == SlotName).FirstOrDefault().Id;
                    AspNetTimeslot slot   = new AspNetTimeslot();

                    slot = db.AspNetTimeslots.Where(x => x.Name == SlotName).FirstOrDefault();

                    if (slot == null)
                    {
                        ErrorMsg = "Error in Row " + Convert.ToString(rowIterator - 1) + " Slot Name is not valid or empty";

                        TempData["ErrorMsg"] = ErrorMsg;

                        return(RedirectToAction("Create", "AspNetTimeTable"));
                    }
                    else
                    {
                        SlotID = slot.Id;
                    }

                    string        SubName = workSheet.Cells[rowIterator, 3].Value.ToString();
                    int           SubjectID;
                    AspNetSubject subject = new AspNetSubject();

                    subject = db.AspNetSubjects.Where(x => x.SubjectName == SubName && x.ClassID == GetClassID && x.CourseType == CourseType).FirstOrDefault();

                    if (subject == null)
                    {
                        ErrorMsg             = "Error in Row " + Convert.ToString(rowIterator - 1) + " Subject Name is not valid or empty";
                        TempData["ErrorMsg"] = ErrorMsg;
                        return(RedirectToAction("Create", "AspNetTimeTable"));
                    }
                    else
                    {
                        SubjectID = subject.Id;
                    }

                    //var UserName = workSheet.Cells[rowIterator, 4].Value.ToString();

                    //string TeacherID;
                    //AspNetUser teacher = new AspNetUser();

                    //teacher = db.AspNetUsers.Where(x => x.UserName == UserName).FirstOrDefault();

                    //if (teacher == null)
                    //{
                    //    ErrorMsg = "Error in Row " + Convert.ToString(rowIterator - 1) + " Teacher Name is not valid or empty";

                    //    TempData["ErrorMsg"] = ErrorMsg;

                    //    return RedirectToAction("Create", "AspNetTimeTable");

                    //}
                    //else
                    //{
                    //    TeacherID = teacher.Id;
                    //}

                    DateTime Day         = Convert.ToDateTime(workSheet.Cells[rowIterator, 4].Value.ToString());
                    var      Description = (workSheet.Cells[rowIterator, 7].Value.ToString());
                    //var Date = workSheet.Cells[rowIterator, 5].Value.ToString();
                    //DateTime Day = DateTime.ParseExact(Date, "dd/MM/yyyy", null);

                    TimeTable.RoomID      = RoomID;
                    TimeTable.SlotID      = SlotID;
                    TimeTable.SubjectID   = SubjectID;
                    TimeTable.Description = Description;
                    //TimeTable.Teacher_ID = TeacherID;
                    TimeTable.Day         = Day.ToString();
                    TimeTable.IsPopulated = false;
                    //    TimeTable.SessionID = GetSessionID;


                    db.AspNetTimeTables.Add(TimeTable);
                    db.SaveChanges();
                }
            }
            dbTransaction.Commit();

            //   return RedirectToAction("Index", "AspNetTimeTable");

            //catch (Exception e)
            //{
            //    dbTransaction.Dispose();
            //}

            return(RedirectToAction("CreateTimetable"));
        }
        public ActionResult Create([Bind(Include = "Id,SessionName,SessionStartDate,SessionEndDate,Status,Total_Fee")] AspNetSession aspNetSession)
        {
            var TransactionObj = db.Database.BeginTransaction();

            if (ModelState.IsValid)
            {
                aspNetSession.SessionEndDate   = Convert.ToDateTime(Request.Form["SessionEndDate"]);
                aspNetSession.SessionStartDate = Convert.ToDateTime(Request.Form["SessionStartDate"]);
                aspNetSession.Total_Fee        = aspNetSession.Total_Fee;
                db.AspNetSessions.Add(aspNetSession);
                db.SaveChanges();
            }


            TransactionObj.Commit();
            ////////////////////////////////////////////////////////Term Add/////////////////////////////////////////////////////////////////
            //int length = 3;
            //for (int i = 0; i < length; i++)
            //{
            //    AspNetTerm aspnetTerm = new AspNetTerm();
            //    aspnetTerm.SessionID = aspNetSession.Id;
            //    aspnetTerm.TermName = "Term " + (i + 1);
            //    aspnetTerm.TermStartDate = DateTime.Now;
            //    aspnetTerm.TermEndDate = DateTime.Now;
            //    aspnetTerm.Status = "InActive";
            //    db.AspNetTerms.Add(aspnetTerm);
            //    db.SaveChanges();
            //}

            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            var        UserNameLog = User.Identity.Name;
            AspNetUser a           = db.AspNetUsers.First(x => x.UserName == UserNameLog);
            string     UserIDLog   = a.Id;
            var        logMessage  = "New Session Added, SessionName: " + aspNetSession.SessionName + ", SessionStartDate: " + aspNetSession.SessionStartDate + ", SessionEndDate: " + aspNetSession.SessionEndDate + ", Status: " + aspNetSession.Status;

            var LogControllerObj = new AspNetLogsController();

            LogControllerObj.CreateLogSave(logMessage, UserIDLog);
            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            AspNetClass Class = new AspNetClass();

            var CurrentSession = db.AspNetSessions.OrderByDescending(x => x.Id).FirstOrDefault();

            Class.ClassName = CurrentSession.SessionName;

            Class.Class     = CurrentSession.SessionName;
            Class.SessionID = CurrentSession.Id;
            db.AspNetClasses.Add(Class);
            db.SaveChanges();

            //Create Subjects to New Session

            var AllSubjectsofTestSession = db.AspNetSubjects.Where(x => x.ClassID == 1).ToList();

            List <subjects_mapping> list = new List <subjects_mapping>();

            foreach (AspNetSubject Subject in AllSubjectsofTestSession)
            {
                subjects_mapping sub = new subjects_mapping();
                sub.oldId = Subject.Id;
                sub.name  = Subject.SubjectName;

                AspNetSubject NewSubjectForSession = new AspNetSubject();

                NewSubjectForSession = Subject;

                NewSubjectForSession.ClassID   = Class.Id;
                NewSubjectForSession.TeacherID = null;

                db.AspNetSubjects.Add(NewSubjectForSession);
                db.SaveChanges();

                sub.newId = NewSubjectForSession.Id;

                list.Add(sub);
            }


            var AllTeacherSubjects = db.AspNetTeacherSubjects.Where(x => x.AspNetSubject.ClassID == 1).ToList();

            foreach (var item in AllTeacherSubjects)
            {
                foreach (var item1 in list)
                {
                    if (item1.oldId == item.SubjectID)
                    {
                        AspNetTeacherSubject TS = new AspNetTeacherSubject();
                        TS.SubjectID = item1.newId;
                        TS.TeacherID = item.TeacherID;
                        db.AspNetTeacherSubjects.Add(TS);
                        break;
                    }
                }
            }

            db.SaveChanges();


            var UserIDs = (from teacher in db.AspNetUsers.Where(x => x.Status != "False")
                           join t2 in db.AspNetUsers_Session
                           on teacher.Id equals t2.UserID
                           join t3 in db.AspNetEmployees
                           on teacher.Id equals t3.UserId
                           where teacher.AspNetRoles.Select(y => y.Name).Contains("Teacher") && t2.AspNetSession.AspNetClasses.Any(x => x.Id == 1) /*&& db.AspNetChapters.Any(x=>x.Id==id)*/
                           select new
            {
                TeacherId = teacher.Id,
                EmployeeId = t3.Id,
            }).ToList();

            foreach (var Id in UserIDs)
            {
                string IdString = Id.TeacherId.ToString();

                AspNetUsers_Session UserSession = new AspNetUsers_Session();

                UserSession.SessionID = aspNetSession.Id;
                UserSession.UserID    = IdString;

                db.AspNetUsers_Session.Add(UserSession);
                db.SaveChanges();
            }


            foreach (var Id in UserIDs)
            {
                Aspnet_Employee_Session EmployeeSession = new Aspnet_Employee_Session();


                EmployeeSession.Emp_Id     = Id.EmployeeId;
                EmployeeSession.Session_Id = aspNetSession.Id;

                db.Aspnet_Employee_Session.Add(EmployeeSession);
                db.SaveChanges();
            }

            return(RedirectToAction("Indexs"));
        }