Update Models according to DB change
[wsti_pai.git] / Projects / Controllers / ProjectTasksController.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Data;
4 using System.Data.Entity;
5 using System.Linq;
6 using System.Net;
7 using System.Web;
8 using System.Web.Mvc;
9 using Projects.Models;
10
11 namespace Projects.Controllers
12 {
13     public class ProjectTasksController : Controller
14     {
15         private ProjectsDBEntities db = new ProjectsDBEntities();
16
17         // GET: ProjectTasks
18         public ActionResult Index()
19         {
20             var projectTasks = db.ProjectTasks.Include(p => p.Project).Include(p => p.TaskStatus).Include(p => p.User);
21             return View(projectTasks.ToList());
22         }
23
24         // GET: ProjectTasks/Details/5
25         public ActionResult Details(int? id)
26         {
27             if (id == null)
28             {
29                 return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
30             }
31             ProjectTask projectTask = db.ProjectTasks.Find(id);
32             if (projectTask == null)
33             {
34                 return HttpNotFound();
35             }
36             return View(projectTask);
37         }
38
39         // GET: ProjectTasks/Create
40         public ActionResult Create()
41         {
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.Users, "id", "login");
45             return View();
46         }
47
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.
51         [HttpPost]
52         [ValidateAntiForgeryToken]
53         public ActionResult Create([Bind(Include = "id,project_id,name,description,created_at,updated_at,task_status_id,user_id")] ProjectTask projectTask)
54         {
55             if (ModelState.IsValid)
56             {
57                 db.ProjectTasks.Add(projectTask);
58                 db.SaveChanges();
59                 return RedirectToAction("Index");
60             }
61
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.Users, "id", "login", projectTask.user_id);
65             return View(projectTask);
66         }
67
68         // GET: ProjectTasks/Edit/5
69         public ActionResult Edit(int? id)
70         {
71             if (id == null)
72             {
73                 return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
74             }
75             ProjectTask projectTask = db.ProjectTasks.Find(id);
76             if (projectTask == null)
77             {
78                 return HttpNotFound();
79             }
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.Users, "id", "login", projectTask.user_id);
83             return View(projectTask);
84         }
85
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.
89         [HttpPost]
90         [ValidateAntiForgeryToken]
91         public ActionResult Edit([Bind(Include = "id,project_id,name,description,created_at,updated_at,task_status_id,user_id")] ProjectTask projectTask)
92         {
93             if (ModelState.IsValid)
94             {
95                 db.Entry(projectTask).State = EntityState.Modified;
96                 db.SaveChanges();
97                 return RedirectToAction("Index");
98             }
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.Users, "id", "login", projectTask.user_id);
102             return View(projectTask);
103         }
104
105         // GET: ProjectTasks/Delete/5
106         public ActionResult Delete(int? id)
107         {
108             if (id == null)
109             {
110                 return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
111             }
112             ProjectTask projectTask = db.ProjectTasks.Find(id);
113             if (projectTask == null)
114             {
115                 return HttpNotFound();
116             }
117             return View(projectTask);
118         }
119
120         // POST: ProjectTasks/Delete/5
121         [HttpPost, ActionName("Delete")]
122         [ValidateAntiForgeryToken]
123         public ActionResult DeleteConfirmed(int id)
124         {
125             ProjectTask projectTask = db.ProjectTasks.Find(id);
126             db.ProjectTasks.Remove(projectTask);
127             db.SaveChanges();
128             return RedirectToAction("Index");
129         }
130
131         protected override void Dispose(bool disposing)
132         {
133             if (disposing)
134             {
135                 db.Dispose();
136             }
137             base.Dispose(disposing);
138         }
139     }
140 }