コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }