public ActionResult Edit(int id)
        {
            Template template = new Template(this.st);
            Course course = null;
            if (id == 0)
            {
                course = new Course() { CourseId = 0, Name = "New", Days = 1, Hours = 8, Template = string.Empty, StartTime = new DateTime(2015, 12, 31, 8, 30, 00) };
            }
            else
            {
                course = this.db.Query<Course>().Where(c => c.CourseId == id).FirstOrDefault();
                if (course == null)
                {
                    return this.HttpNotFound();
                }
            }

            ViewBag.Session = Guid.NewGuid().ToString();
            this.PopulateTemp(id, course.Template, ViewBag.Session);
            List<Template> templates = template.GetList();
            templates.Insert(0, new Template() { name = "Please Select Template...", id = string.Empty });
            ViewBag.Template = new SelectList(templates, "Id", "Name", course.Template);
            return this.View(course);
        }
 public void CourseEditNewWriteTest()
 {
     var db = new FakeDatabase();
     var st = new FakeSkyTap();
     db.AddSet(TestCourseData.Courses);
     db.AddSet(TestCourseMachineData.CourseMachines);
     db.AddSet(TestCourseMachineTempData.CourseMachineTemps);
     st.AddSet(TestTemplateRESTData.templates);
     var controller = new CoursesController(db, st);
     controller.ControllerContext = new FakeControllerContext();
     Course testCourse = new Course() { CourseId = 0, Name = "TestNew", Days = 5, Hours = 8, Template = "11111111" };
     var result = controller.Edit(testCourse, Guid.NewGuid().ToString());
     Assert.IsNotNull(result);
     Assert.AreEqual(typeof(RedirectToRouteResult), result.GetType());
     Assert.AreEqual(1, db.Added.Count);
     Assert.AreEqual("TestNew", ((Course)db.Added[0]).Name);
     Assert.AreEqual(3, db.saved);
 }