Example #1
0
        public async Task <IActionResult> Edit(PublishArticleBindingModel model)
        {
            var userId          = this.userManager.GetUserId(this.User);
            var userPermissions = await this.articlesService.IsArticleFromUserAsync(model.Id, userId);

            if (!userPermissions)
            {
                TempData.AddInfoMessage(WebConstants.UserNoPermissionsEdit);
                return(this.RedirectToAction(nameof(Index)));
            }

            model.Content = this.htmlServise.Sanitize(model.Content);
            var article = this.mapper.Map <ArticleFormModel>(model);
            var result  = await this.articlesService.EditAsync(article);

            if (!result)
            {
                TempData.AddErrorMessage(WebConstants.PublishArticleError);
                return(this.View(model));
            }

            TempData.AddSuccessMessage(WebConstants.PublishArticleSuccess);

            return(this.RedirectToAction(
                       nameof(TeachTheChild.Web.Controllers.ArticlesController.Details),
                       "Articles",
                       new { area = "", id = model.Id, title = model.Title.ToFriendlyUrl() }));
        }
Example #2
0
        public async Task <IActionResult> Create(PublishArticleBindingModel model)
        {
            model.Content = this.htmlServise.Sanitize(model.Content);
            model.UserId  = this.userManager.GetUserId(this.User);

            model.LanguageId = await this.usersService.GetUserLanguageIdAsync(model.UserId);

            if (model.LanguageId == 0)
            {
                TempData.AddErrorMessage(WebConstants.PublishArticleError);
                return(this.View(model));
            }
            var article = this.mapper.Map <ArticleFormModel>(model);
            var result  = await this.articlesService.AddAsync(article);

            if (result == 0)
            {
                TempData.AddErrorMessage(WebConstants.PublishArticleError);
                return(this.View(model));
            }

            TempData.AddSuccessMessage(WebConstants.PublishArticleSuccess);

            return(this.RedirectToAction(
                       nameof(TeachTheChild.Web.Controllers.ArticlesController.Details),
                       "Articles",
                       new { area = "", id = result, title = model.Title.ToFriendlyUrl() }));
        }
        public async Task <IActionResult> Create(PublishArticleBindingModel model)
        {
            model.Content = this.htmlService.Sanitize(model.Content);
            var authorId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

            await this.blogArticleService.CreateArticleAsync(model, authorId);

            return(this.RedirectToAction("Index", "Home"));
        }