public ActionResult Create(MarkInputModel model) { if (model != null && this.ModelState.IsValid) { var mark = Mapper.Map<Mark>(model); this.Data.Marks.Add(mark); this.Data.SaveChanges(); return this.RedirectToAction("Details", new { id = mark.Id }); } this.LoadCountries(); this.LoadOwners(); return this.View(model); }
public ActionResult AddMark([DataSourceRequest] DataSourceRequest request, int id, MarkInputModel model) { // No idea why id is 0 when path is /Trainer/Courses/AddMark/5; int courseId = int.Parse(this.Request.RequestContext.RouteData.Values["id"].ToString()); if (!this.ModelState.IsValid) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Bad Request"); } this.courseService.AddMark(model.Value, model.Username, courseId, model.Reason); return this.Json(new[] { model }.ToDataSourceResult(request, this.ModelState)); }
public void ExpectAddMarkToAddMarkWithoutErrors() { var courseServiceMock = new Mock<ICoursesService>(); var contextMock = new Mock<HttpContextBase>(); const int CourseId = 6; const string Username = "******"; const int Value = 4; var routeData = new RouteData(); routeData.Values.Add("id", CourseId); contextMock .SetupGet(x => x.Request.RequestContext) .Returns(new RequestContext(contextMock.Object, routeData)); courseServiceMock.Setup(x => x.AddMark(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<int>(), It.IsAny<string>())) .Callback<int, string, int, string>((markValue, userName, courseId, reason) => { Assert.AreEqual(CourseId, courseId); Assert.AreEqual(Username, userName); Assert.AreEqual(Value, markValue); Assert.IsNull(reason); }); var controller = new CoursesController(null, courseServiceMock.Object); var markModel = new MarkInputModel() { Value = Value, Username = Username }; controller.ControllerContext = new ControllerContext(contextMock.Object, routeData, controller); controller.WithCallTo(x => x.AddMark(new DataSourceRequest(), 2, markModel)) .ShouldReturnJson(); }