コード例 #1
0
        public IActionResult Add(MonumentAddViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(base.RedirectToAction("Add"));
            }

            int monumentId = this.monumentsService.Add(model);

            return(base.RedirectToAction("Details", new { monumentId }));
        }
コード例 #2
0
        public IActionResult Add()
        {
            var oblasts = this.oblastsService.GetAllOrderedByName()
                          .Select(x => new SelectListItem(x.Name, x.Id.ToString()))
                          .ToList();
            var viewModel = new MonumentAddViewModel {
                Oblasts = oblasts
            };

            return(base.View(viewModel));
        }
コード例 #3
0
        public int Add(MonumentAddViewModel model)
        {
            if (!this.oblastsService.CheckExistById(model.SelectedOblastId))
            {
                throw new OblastNullException();
            }

            Monument monument = this.mapper.Map <Monument>(model);

            monument.ImageUrl = this.imagesUploader.Upload(model.Photo, ImagesDirectory, ImagesFolderName);

            this.dbContext.Monuments.Add(monument);
            this.dbContext.SaveChanges();

            return(monument.Id);
        }
コード例 #4
0
        public void Add_ShouldCreateNewMonumentCorrectly()
        {
            string description = "testDescription";
            string name = "testName";

            int oblastId = 1;
            this.dbContext.Oblasts.Add(new Oblast { Id = oblastId });
            this.dbContext.SaveChanges();

            var model = new MonumentAddViewModel
            {
                Description = description,
                Name = name,
                SelectedOblastId = oblastId,
            };

            string imageUrl = "testUrl";
            string imagesDirectory = "wwwroot/images/monuments/";
            string imagesFolderName = "monuments";
            var mockedImagesUploader = new Mock<ImagesUploader>(null);
            mockedImagesUploader
                .Setup(x => x.Upload(null, imagesDirectory, imagesFolderName))
                .Returns(imageUrl);

            typeof(MonumentsService)
                .GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
                .First(x => x.FieldType == typeof(ImagesUploader))
                .SetValue(this.monumentsService, mockedImagesUploader.Object);

            this.monumentsService.Add(model);

            Monument result = this.dbContext.Monuments.First();
            result.ShouldSatisfyAllConditions
            (
                () => result.Description.ShouldBe(description),
                () => result.Name.ShouldBe(name),
                () => result.OblastId.ShouldBe(oblastId),
                () => result.ImageUrl.ShouldBe(imageUrl)
            );
        }
コード例 #5
0
 public void Add_ThrowExceptionIfOblastWithGivenIdDoNotExist()
 {
     var model = new MonumentAddViewModel { SelectedOblastId = 1 };
     Action testCode = () => this.monumentsService.Add(model);
     testCode.ShouldThrow<OblastNullException>();
 }