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