public ActionResult ChangeStatus(int?id, string Status) { if (Status.Trim() == "") { return(RedirectToAction("ChangeStatus", new { id = (int)id })); } Assigned_Idea ai = db.Assigned_Idea.Find(id); ai.Status = Status; db.SaveChanges(); return(RedirectToAction("AssignedIdeas", "Home", new { id = ai.Idea_num })); }
/* * Pre: Assign_id * Post: return the IdeaView that contains properties from both Idea and Assigned Idea tables * */ public ActionResult DeleteAssignedIdea(int?id) { if (!Request.IsAuthenticated || HttpContext.Session["userLoggedIn"] == null) { return(RedirectToAction("Logout", "Account")); } Assigned_Idea ai = db.Assigned_Idea.Find(id); Idea idea = db.Ideas.Find(ai.Idea_num); IdeaView ideaView = GenerateSingleIdeaView(ai.Idea_num); ideaView.Status = ai.Status; ideaView.SchoolName = db.Schools.Where(s => s.School_id == ai.School_id).Select( s => s.Name).SingleOrDefault(); return(View(ideaView)); }
//Add all the properties of a project with certain assigned_id to the archive table //Note: assigned_id is not saved inside Archive and Archive doesn't reference any non-archive tables public void ArchiveAssigned(int id) { Assigned_Idea assignedIdea = db.Assigned_Idea.Find(id); Idea idea = db.Ideas.Find(assignedIdea.Idea_num); Archive archive = new Archive(); archive.Title = idea.Title; archive.Summary = idea.Summary; archive.Description = idea.Description; archive.Author = db.Users.Where(u => u.User_id == idea.User_id).Select(u => u.Name).SingleOrDefault(); archive.Date_submitted = idea.Date_submitted; archive.Status = assignedIdea.Status; archive.School = db.Schools.Where(s => s.School_id == assignedIdea.School_id).Select( s => s.Name).FirstOrDefault(); db.Archives.Add(archive); db.SaveChanges(); }
public ActionResult DeleteAssignedIdeaPost(int?id, string remove) { if (!Request.IsAuthenticated || HttpContext.Session["userLoggedIn"] == null) { return(RedirectToAction("Logout", "Account")); } IdeaView ideaView = new IdeaView(); Assigned_Idea ai = db.Assigned_Idea.Find(id); if (!String.IsNullOrEmpty(remove)) { ideaView.Idea_num = ai.Idea_num; ideaView.Assigned_id = ai.Assigned_id; ideaView.School_id = ai.School_id; db.Database.ExecuteSqlCommand("Delete from Append_Log where Idea_num = @p0", id); db.Assigned_Idea.Remove(ai); if (remove == "Archive") { ArchiveAssigned((int)id); LogEvent(ideaView, "Archive"); } else { LogEvent(ideaView, "Delete"); } db.SaveChanges(); //after delete an assigned project, if it's the last project deleted. mark original idea as not assigned. if (!isAlreadyAssigned(ai.Idea_num)) { Idea idea = db.Ideas.Find(ai.Idea_num); idea.Assigned = false; db.SaveChanges(); return(RedirectToAction("Index", "Home")); } } return(RedirectToAction("AssignedIdeas", new { id = ai.Idea_num })); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (HttpContext.Session["userLoggedIn"] == null) { FormsAuthentication.SignOut(); } Assigned_Idea ai = db.Assigned_Idea.Find(id); if (ai == null) { return(HttpNotFound()); } //Create an IdeaView model IdeaView model = home.GenerateSingleIdeaView(ai.Idea_num); model.Assigned_id = ai.Assigned_id; //add school, ambassador, status to IdeaView model model.Status = ai.Status; model.AmbassadorName = db.Users.Where(u => u.User_id == ai.Ambassador_id).Select( u => u.Name).FirstOrDefault(); model.SchoolName = db.Schools.Where(s => s.School_id == ai.School_id).Select( s => s.Name).FirstOrDefault(); //save attached files to ViewBag ViewBag.AttachedFiles = db.Files.Where(f => f.Idea_num == id).ToList(); //save Append_Logs to ViewBag //ViewBag.Appends = db.Append_Log.Where(a => a.Idea_num == ai.Assigned_id).ToList(); ViewBag.Appends = GenerateAppendLogs((int)id); ViewBag.currAmbassadorID = db.Users.Where(u => u.Name == User.Identity.Name).Select(u => u.User_id).FirstOrDefault(); return(View(model)); }
//param = assigned project id public ActionResult Append(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (HttpContext.Session["userLoggedIn"] == null) { FormsAuthentication.SignOut(); } Assigned_Idea idea = db.Assigned_Idea.Find(id); if (idea == null) { return(HttpNotFound()); } IdeaView ideaView = home.GenerateSingleIdeaView(idea.Idea_num); ViewBag.AttachedFiles = db.Files.Where(f => f.Idea_num == idea.Idea_num).ToList(); ViewBag.Appends = GenerateAppendLogs(idea.Assigned_id).ToList(); ViewBag.Ambassador_id = idea.Ambassador_id; return(View(ideaView)); }
public ActionResult ChangeStatus(int?id) { if (!Request.IsAuthenticated || HttpContext.Session["userLoggedIn"] == null) { return(RedirectToAction("Logout", "Account")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Assigned_Idea ai = db.Assigned_Idea.Find(id); if (ai == null) { return(HttpNotFound()); } //Idea idea = db.Ideas.Find(ai.Idea_num); IdeaView ideaView = home.GenerateSingleIdeaView(ai.Idea_num); ideaView.Assigned_id = ai.Assigned_id; ViewBag.currentUserId = db.Users.Where(u => u.Name == User.Identity.Name).Select(u => u.User_id).FirstOrDefault(); return(View(ideaView)); }
public ActionResult Assign(int?id, int?schools, int?ambassadors) { if (!Request.IsAuthenticated || HttpContext.Session["userLoggedIn"] == null) { return(RedirectToAction("Logout", "Account")); } if (schools != null && ambassadors != null) { Assigned_Idea assignedIdea = new Assigned_Idea(); assignedIdea.Idea_num = (int)id; assignedIdea.Ambassador_id = (int)ambassadors; assignedIdea.School_id = (int)schools; assignedIdea.Status = "Assigned"; db.Assigned_Idea.Add(assignedIdea); //after assigned, mark the main idea as assigned. Idea idea = db.Ideas.Find(assignedIdea.Idea_num); idea.Assigned = true; db.SaveChanges(); return(RedirectToAction("AssignedIdeas", "Home", new { id = id })); } return(RedirectToAction("Assign", "Home", new { id = id })); }