예제 #1
0
        public void CreateRecordShouldReturnPropperResultIfModelStateIsInvalid()
        {
            var areasFake = new Mock <IAreasServices>();

            areasFake.Setup(a => a.GetByUserId(It.IsAny <string>())).Returns(areas);

            var recordsFake = new Mock <IRecordsServices>();

            recordsFake.Setup(x => x.GetByAreaId(It.IsAny <int>())).Returns(this.records);

            var documentsFake = new Mock <IDocumentsServices>().Object;
            var usersFake     = new Mock <IUsersServices>().Object;

            var controller = new AreasController(areasFake.Object, recordsFake.Object, documentsFake, usersFake);

            controller.ModelState.AddModelError("Invalid model", "Error message");

            Mapper.CreateMap <Area, AreaShortViewModel>();
            Mapper.CreateMap <Area, AreaListViewModel>();
            Mapper.CreateMap <User, UserShortViewModel>();
            Mapper.CreateMap <Record, RecordListViewModel>();

            ViewResult viewResult       = controller.Index() as ViewResult;
            var        invalidViewModel = new RecordCreateViewModel();

            controller.WithCallTo(c => c.CreateRecord(1, invalidViewModel))
            .ShouldRenderView(string.Empty)
            .WithModel <RecordCreateViewModel>(x => Assert.AreSame(invalidViewModel, x));
        }
예제 #2
0
        public ActionResult CreateRecord(int id, RecordCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                var documentTemplateFilePath = Server.MapPath(this.documents.GetById(model.DocumentId).FilePath);
                var fileExtension            = System.IO.Path.GetExtension(documentTemplateFilePath);
                var newRecord = this.records.Create(model.Title, model.Description, model.DateCreated, model.FinishingDate, model.Status, model.StatusDate, model.DocumentId, id, fileExtension);

                this.CreateFileOfRecord(this.documents.GetById(model.DocumentId).FilePath, newRecord.RecordFiles.ToList()[newRecord.RecordFiles.ToList().Count - 1].Path);

                return(RedirectToAction("Manage", new { id = id }));
            }

            ViewBag.Documents = this.GetDocumentsSelectListItems();
            return(View(model));
        }
예제 #3
0
        public IActionResult Create(RecordCreateViewModel recordCreateViewModel)
        {
            string clientId;

            if (Request.Cookies.TryGetValue("clientId", out clientId))
            {
                recordCreateViewModel.ClientId = int.Parse(clientId);
            }

            var json   = JsonConvert.SerializeObject(recordCreateViewModel);
            var data   = new StringContent(json, Encoding.UTF8, "application/json");
            var result = _client.PostAsync("api/records", data).Result;

            if (result.StatusCode == System.Net.HttpStatusCode.OK)
            {
                return(Redirect("/site/vertical/index.html"));
            }

            return(Redirect("/site/vertical/create-record.html"));
        }