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() })); }
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")); }