public async Task <IActionResult> OnGetAsync(string slug = "") { if (string.IsNullOrEmpty(slug)) { return(Page()); } var request = new GetArticleQuery(slug); var result = await _mediator.Send(request); if (result == null) { Article = new ArticleCreate { Topic = UrlHelpers.SlugToTopic(slug) }; } else { // TODO: Convert this to use a PageRoute return(Redirect($"/{slug}/Edit")); } return(Page()); }
public async Task <IActionResult> Create(ArticleCreate request) { var created = await Mediator.Send(request with { UserId = RequestUserId, }); await SaveChangesAsync(); return(CreatedAtAction(nameof(Get), new { id = created.Id }, created)); }
public bool Save(ArticleCreate value) { var images = new List <ArticleImage>(); if (value.Images.Count > 0) { var destination = value.Url.Replace(" ", "-"); foreach (var item in value.Images) { var fileName = _fileService.Copy(item.Path, destination); if (fileName == null) { continue; } images.Add(new ArticleImage() { Image = new Image() { Path = fileName, CreatedAt = DateTime.Now } }); } } var catehories = new List <ArticleCategory>(); foreach (var item in value.Categories) { catehories.Add(new ArticleCategory() { CategoryId = item }); } var article = new Article() { Description = value.Description, Title = value.Title, Url = value.Url, CreatedAt = DateTime.Now, Images = images, Categories = catehories }; return(_articleRepository.Save(article)); }
public IActionResult Add([FromBody] ArticleCreate articleCreate) { if (articleCreate == null) { throw new ApiException("Błąd danych"); } if (!ModelState.IsValid) { throw new ApiValidationException("Walidacja"); } if (!_articleService.Save(articleCreate)) { throw new ApiException("Bład wykonano akcje zapisu artykułu"); } return(new ResponseObjectResult("Pomyślnie wykonano akcje dodania artykułu")); }