Exemple #1
0
        public void Create(CreateArticleInputViewModel model, string imageUploadResult, string creatorName)
        {
            var creator = _dbContext.Users
                          .Where(u => u.UserName == creatorName).ToList();
            var fullName = "";

            foreach (var item in creator)
            {
                fullName = item.FirstName + " " + item.LastName;
            }

            var CreatedOn = DateTime.UtcNow;

            var article = new Article
            {
                Title                 = model.Title,
                Content               = model.Content,
                Category              = model.Category,
                CreatedOn             = CreatedOn,
                Creator               = fullName,
                ArticleVersionPicture = imageUploadResult
            };

            _dbContext.Articles.Add(article);
            _dbContext.SaveChanges();
        }
Exemple #2
0
        public async Task <IActionResult> CreateArticle(CreateArticleInputViewModel input)
        {
            var titleAlreadyExists = this.articlesService.ArticleTitleAlreadyExists(input.ArticleTitle);

            if (!this.ModelState.IsValid || titleAlreadyExists)
            {
                if (titleAlreadyExists)
                {
                    this.TempData["error"] = string.Format("Article with title \"{0}\" already exists! Please, choose another title!", input.ArticleTitle);
                }

                return(this.View(input));
            }

            var userId    = this.userManager.GetUserId(this.User);
            var articleId = await this.articlesService.CreateArticle(input.ArticleTitle, input.ArticleCategory, input.ArticleContent, userId, input.ArticleImage);

            return(this.RedirectToAction(nameof(this.Details), new { articleId }));
        }