Ejemplo n.º 1
0
        public ActionResult AddStudentToProject(StudentToProjectViewModel model)
        {
            if (Session["UserId"] == null)
            {
                return(RedirectToAction("Login", "Home"));
            }
            else if (Session["UserType"].ToString() != UserType.Administrator.ToString() && Session["UserType"].ToString() != UserType.Coordinator.ToString())
            {
                TempData["msg"] = "You don't have enough rights";
                return(RedirectToAction("Login", "Home"));
            }
            ViewBag.StudentID = new SelectList(db.Students.Include("Project").Where(s => s.Project == null).Select(s => new { StudentId = s.StudentId, FieldName = s.User.Name + "(" + s.User.Email + ")" }), "StudentId", "FieldName");
            ViewBag.ProjectID = new SelectList(db.Projects.Where(s => s.GroupMembers.Count <= 4).Select(s => new { ProjectId = s.ProjectId, FieldName = s.Title + "(Project-ID: " + s.ProjectId + ")" }), "ProjectId", "FieldName");
            if (ModelState.IsValid)
            {
                //db.Projects.Add(model);
                var Project = db.Projects.Include("GroupMembers").Where(s => s.ProjectId == model.ProjectID).FirstOrDefault();
                if (Project == null)
                {
                    ModelState.AddModelError(string.Empty, "Invalid Project Selection");
                    TempData["msg"] = "Invalid Project Selection";
                    return(View(model));
                }
                var Student = db.Students.Where(s => s.StudentId == model.StudentID).FirstOrDefault();
                if (Student == null)
                {
                    ModelState.AddModelError(string.Empty, "Invalid StudentSelection");
                    TempData["msg"] = "Invalid Student Selection";
                    return(View(model));
                }
                var exists = Project.GroupMembers.Where(s => s.StudentId == Student.StudentId).FirstOrDefault();
                if (exists != null)
                {
                    ModelState.AddModelError(string.Empty, "Student is already in this Project");
                    TempData["msg"] = "Student is already in this Project";
                    return(View(model));
                }
                Project.GroupMembers.Add(Student);
                TempData["msg"] = "Student assigned to Project";

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
Ejemplo n.º 2
0
 public ActionResult RemoveStudent(StudentToProjectViewModel model)
 {
     if (Session["UserId"] == null)
     {
         return(RedirectToAction("Login", "Home"));
     }
     else if (Session["UserType"].ToString() != UserType.Administrator.ToString() && Session["UserType"].ToString() != UserType.Coordinator.ToString())
     {
         TempData["msg"] = "You don't have enough rights";
         return(RedirectToAction("Login", "Home"));
     }
     if (ModelState.IsValid)
     {
         var Project = db.Projects.Include("GroupMembers").Where(s => s.ProjectId == model.ProjectID).FirstOrDefault();
         if (Project == null)
         {
             ModelState.AddModelError(string.Empty, "Invalid Project Selection");
             TempData["msg"] = "Invalid Project Selection";
             return(RedirectToAction("Index"));
         }
         var Student = db.Students.Where(s => s.StudentId == model.StudentID).FirstOrDefault();
         if (Student == null)
         {
             ModelState.AddModelError(string.Empty, "Invalid Student Selection");
             TempData["msg"] = "Invalid Student Selection";
             return(RedirectToAction("Index"));
         }
         var exists = Project.GroupMembers.Where(s => s.StudentId == Student.StudentId).FirstOrDefault();
         if (exists == null)
         {
             ModelState.AddModelError(string.Empty, "Student is already in this Project");
             TempData["msg"] = "Student is already in this Project";
             return(RedirectToAction("Index"));
         }
         Project.GroupMembers.Remove(exists);
         db.SaveChanges();
         TempData["msg"] = "Student Removed From Project";
         return(RedirectToAction("Index"));
     }
     return(RedirectToAction("Index"));
 }