2 using System.Collections.Generic;
4 using System.Data.Entity;
11 namespace Projects.Controllers
13 public class ProjectTasksController : Controller
15 private ProjectsDBEntities db = new ProjectsDBEntities();
18 public ActionResult Index()
20 var projectTasks = db.ProjectTasks.Include(p => p.Project).Include(p => p.TaskStatus).Include(p => p.ProjectUser);
21 return View(projectTasks.ToList());
24 // GET: ProjectTasks/Details/5
25 public ActionResult Details(int? id)
29 return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
31 ProjectTask projectTask = db.ProjectTasks.Find(id);
32 if (projectTask == null)
34 return HttpNotFound();
36 return View(projectTask);
39 // GET: ProjectTasks/Create
40 public ActionResult Create()
42 ViewBag.project_id = new SelectList(db.Projects, "id", "name");
43 ViewBag.task_status_id = new SelectList(db.TaskStatuses, "int", "status");
44 ViewBag.user_id = new SelectList(db.ProjectUsers, "id", "login");
48 // POST: ProjectTasks/Create
49 // To protect from overposting attacks, please enable the specific properties you want to bind to, for
50 // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
52 [ValidateAntiForgeryToken]
53 public ActionResult Create([Bind(Include = "id,project_id,name,description,created_at,updated_at,task_status_id,user_id")] ProjectTask projectTask)
55 if (ModelState.IsValid)
57 db.ProjectTasks.Add(projectTask);
59 return RedirectToAction("Index");
62 ViewBag.project_id = new SelectList(db.Projects, "id", "name", projectTask.project_id);
63 ViewBag.task_status_id = new SelectList(db.TaskStatuses, "int", "status", projectTask.task_status_id);
64 ViewBag.user_id = new SelectList(db.ProjectUsers, "id", "login", projectTask.user_id);
65 return View(projectTask);
68 // GET: ProjectTasks/Edit/5
69 public ActionResult Edit(int? id)
73 return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
75 ProjectTask projectTask = db.ProjectTasks.Find(id);
76 if (projectTask == null)
78 return HttpNotFound();
80 ViewBag.project_id = new SelectList(db.Projects, "id", "name", projectTask.project_id);
81 ViewBag.task_status_id = new SelectList(db.TaskStatuses, "int", "status", projectTask.task_status_id);
82 ViewBag.user_id = new SelectList(db.ProjectUsers, "id", "login", projectTask.user_id);
83 return View(projectTask);
86 // POST: ProjectTasks/Edit/5
87 // To protect from overposting attacks, please enable the specific properties you want to bind to, for
88 // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
90 [ValidateAntiForgeryToken]
91 public ActionResult Edit([Bind(Include = "id,project_id,name,description,created_at,updated_at,task_status_id,user_id")] ProjectTask projectTask)
93 if (ModelState.IsValid)
95 db.Entry(projectTask).State = EntityState.Modified;
97 return RedirectToAction("Index");
99 ViewBag.project_id = new SelectList(db.Projects, "id", "name", projectTask.project_id);
100 ViewBag.task_status_id = new SelectList(db.TaskStatuses, "int", "status", projectTask.task_status_id);
101 ViewBag.user_id = new SelectList(db.ProjectUsers, "id", "login", projectTask.user_id);
102 return View(projectTask);
105 // GET: ProjectTasks/Delete/5
106 public ActionResult Delete(int? id)
110 return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
112 ProjectTask projectTask = db.ProjectTasks.Find(id);
113 if (projectTask == null)
115 return HttpNotFound();
117 return View(projectTask);
120 // POST: ProjectTasks/Delete/5
121 [HttpPost, ActionName("Delete")]
122 [ValidateAntiForgeryToken]
123 public ActionResult DeleteConfirmed(int id)
125 ProjectTask projectTask = db.ProjectTasks.Find(id);
126 db.ProjectTasks.Remove(projectTask);
128 return RedirectToAction("Index");
131 protected override void Dispose(bool disposing)
137 base.Dispose(disposing);