public Class DropClass(int classId, int userId) { var learningCenterEntity = new TheLearningCenterReworkedEntities(); List <Class> userClassEnrolled = new List <Class>(); int currentUserId = new int(); foreach (var userItem in learningCenterEntity.Users) { if (userItem.UserId == userId) { currentUserId = userItem.UserId; foreach (var user in learningCenterEntity.Users) { foreach (var classItem in user.Classes) { if (currentUserId == user.UserId) { userClassEnrolled.Add(classItem); } } } } } return(null); }
public ActionResult ClassList() { var classList = new TheLearningCenterReworkedEntities().Classes.ToList(); ViewBag.ClassList = classList; return(View()); }
public List <Class> currentUserClassEnrollment() { var learningCenterEntityReworked = new TheLearningCenterReworkedEntities(); List <Class> userClassEnrolled = new List <Class>(); foreach (var user in learningCenterEntityReworked.Users) { if (user.UserEmail == (string)Session["UserEmail"]) { userClassEnrolled.AddRange(user.Classes); } } return(userClassEnrolled); }
public ActionResult AddEnrollInClass(string className) { var user = userRepository.Users.Where(u => u.UserEmail == (string)Session["UserEmail"]).First(); using (var dbCtx = new TheLearningCenterReworkedEntities()) { /* Get existing data from database */ var existingStudent = dbCtx.Users.Include("Classes") .Where(s => s.UserEmail == user.UserEmail).FirstOrDefault <User>(); /* Find Added courses in student's course collection by students' * current course list (came from client in disconnected scenario) minus * students' existing courses (existing data from database) */ Class c = new Class(); foreach (var classItem in dbCtx.Classes) { if (className == classItem.ClassName) { c = classItem; } } // Add new courses /* Attach courses because it came from client * as detached state in disconnected scenario*/ if (dbCtx.Entry(c).State == System.Data.Entity.EntityState.Detached) { dbCtx.Classes.Attach(c); } // Add course in existing student's course collection existingStudent.Classes.Add(c); // Save changes which will reflect in StudentCourse table only dbCtx.SaveChanges(); } return(RedirectToAction("StudentClasses", "Home")); }
public ActionResult DropClass(string className) { var user = userRepository.Users.Where(u => u.UserEmail == (string)Session["UserEmail"]).First(); using (var dbCtx = new TheLearningCenterReworkedEntities()) { /* Get existing data from database */ var existingStudent = dbCtx.Users.Include("Classes") .Where(s => s.UserEmail == user.UserEmail).FirstOrDefault <User>(); /* Find deleted courses from student's course collection by * students' existing courses (existing data from database) minus students' * current course list (came from client in disconnected scenario) */ var deletedClasses = UserClassNotEnrolledIn2(); /* Find Added courses in student's course collection by students' * current course list (came from client in disconnected scenario) minus * students' existing courses (existing data from database) */ Class c = new Class(); foreach (var classItem in dbCtx.Classes) { if (className == classItem.ClassName) { c = classItem; } } /* Remove deleted courses from students' existing course collection * (existing data from database)*/ //deletedClasses.ForEach(c => existingStudent.Classes.Remove(c)); //**NOT WORKING** existingStudent.Classes.Remove(c); // Save changes which will reflect in StudentCourse table only dbCtx.SaveChanges(); } return(RedirectToAction("StudentClasses", "Home")); }
// Initialize and open the database connection static DatabaseManager() { entities = new TheLearningCenterReworkedEntities(); entities.Database.Connection.Open(); }