コード例 #1
0
        public void EditArticleShoudEditOneOrMorePropertiesInArticle()
        {
            var options   = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("Database_For_Tests").Options;
            var dbContext = new ApplicationDbContext(options);
            var service   = new ArticleService(dbContext);

            var model = new UpdateDeleteArticleViewModel
            {
                Type = "Regular"
            };

            var article = new Article
            {
                Type = ArticleType.Kids
            };

            dbContext.Articles.Add(article);
            dbContext.SaveChanges();

            var articleToEdit = dbContext.Articles.First();

            service.EditArticle(articleToEdit, model);

            Assert.Equal("Regular", articleToEdit.Type.ToString());
        }
コード例 #2
0
        public bool EditArticle(Article article, UpdateDeleteArticleViewModel model)
        {
            if (!Enum.TryParse(model.Type, out ArticleType articleType))
            {
                return(false);
            }

            article.Title                  = model.Title;
            article.ArticleImage           = model.ArticleImage;
            article.Content                = model.Content;
            article.ContentImage           = model.ContentImage;
            article.Type                   = articleType;
            article.AdditionalContent      = model.AdditionalContent;
            article.AdditionalContentImage = model.AdditionalContentImage;

            this.context.SaveChanges();
            return(true);
        }
コード例 #3
0
        public IActionResult Edit(UpdateDeleteArticleViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(this.View(model));
            }

            var article = this.articleService.GetArticle(model.Id);

            if (article == null)
            {
                return(this.Redirect("/"));
            }

            this.articleService.EditArticle(article, model);

            return(this.Redirect("/Articles/Details?id=" + model.Id));
        }
コード例 #4
0
        public IActionResult Edit(int id)
        {
            var article = this.articleService.GetArticle(id);

            if (article == null)
            {
                return(this.Redirect("/"));
            }

            var model = new UpdateDeleteArticleViewModel
            {
                Id                     = article.Id,
                Title                  = article.Title,
                ArticleImage           = article.ArticleImage,
                Content                = article.Content,
                ContentImage           = article.ContentImage,
                Type                   = article.Type.ToString(),
                AdditionalContent      = article.AdditionalContent,
                AdditionalContentImage = article.AdditionalContentImage,
            };

            return(this.View(model));
        }