public async Task <IActionResult> PutArticle(int Id, [FromForm] CreateArticleDTO updateArticle) { var articleDB = await _context.Articles.FirstOrDefaultAsync(x => x.Id == Id); if (articleDB == null) { return(NotFound()); } articleDB = _mapper.Map(updateArticle, articleDB); if (updateArticle.ImageUrl != null) { using (var memoryStream = new MemoryStream()) { await updateArticle.ImageUrl.CopyToAsync(memoryStream); var content = memoryStream.ToArray(); var extension = Path.GetExtension(updateArticle.ImageUrl.FileName); articleDB.ImageUrl = await _fileStorageService.EditFile(content, extension, containerName, articleDB.ImageUrl, updateArticle.ImageUrl.ContentType); } } await _context.SaveChangesAsync(); return(NoContent()); }
public void UpdateArticle_Test() { var dbArticles = new List <Article>(); this._sut = new ArticleService(_fakeArticleUnitOfWork.Object, _mapper); CreateArticleDTO article = FakeArticles.CreateArticleWithTwoTagsDto(); _fakeArticleRepository.Setup(m => m.Add(It.IsAny <Article>())) .Callback((Article a) => { dbArticles.Add(a); }).Verifiable(); _fakeArticleUnitOfWork.Setup(setup => setup.Commit()).Returns(1).Verifiable(); _fakeArticleRepository.Setup(setup => setup.Update(It.IsAny <Article>())).Callback((Article a) => { dbArticles.Remove(a); dbArticles.Add(a); }); _sut.AddArticle(article); GetArticleDTO getArticleDto = FakeArticles.CreateGetArticle(); _sut.UpdateArticle(getArticleDto); Assert.AreEqual(dbArticles[0].Header, getArticleDto.Header); }
public void AddArticle(CreateArticleDTO articleDto) { var article = Mapper.Map <CreateArticleDTO, Article>(articleDto); var tagUtil = new TagUtil(UnitOfWork.TagRepository); article.Tags = tagUtil.GetTags(article); UnitOfWork.ArticleRepository.Add(article); UnitOfWork.Commit(); }
public ActionResult Create([Bind(Include = "id,teaser,headline,subtitle,byline,lead,content,credit,authorid,leadimage,leadcaption,leadcredit,date,createddate")] CreateArticleDTO article) { if (ModelState.IsValid) { //var authorId = int.Parse(Request.Form["authorid"]); //article.authorid = authorId; _articlesService.NewArticle(article); //_categoryRepository.Save(); return(RedirectToAction("Index")); } return(View(article)); }
public void DeleteArticle_Test() { var dbArticles = new List <Article>(); CreateArticleDTO article = FakeArticles.CreateArticleWithTwoTagsDto(); _fakeArticleUnitOfWork.Setup(setup => setup.Commit()).Returns(1).Verifiable(); _fakeArticleRepository.Setup(setup => setup.GetById(2)).Returns(FakeArticles.CreateArticle()); _fakeArticleRepository.Setup(setup => setup.Delete(It.IsAny <Article>())).Callback((Article a) => { dbArticles.Remove(a); }); _sut.AddArticle(article); _sut.DeleteArticle(article.Id); Assert.IsTrue(!dbArticles.Any()); }
public void NewArticle(CreateArticleDTO articleDTO) { Article article = new Article() { teaser = articleDTO.teaser, headline = articleDTO.headline, subtitle = articleDTO.subtitle, byline = articleDTO.byline, lead = articleDTO.lead, content = articleDTO.content, credit = articleDTO.credit, authorId = articleDTO.authorId, leadImage = articleDTO.leadImage, leadcaption = articleDTO.leadcaption, leadcredit = articleDTO.leadcredit, date = articleDTO.date, createddate = articleDTO.createddate }; _articleRepository.Insert(article); }
public async Task <ActionResult> PostArticle([FromForm] CreateArticleDTO createArticleDTO) { var article = _mapper.Map <Article>(createArticleDTO); if (createArticleDTO.ImageUrl != null) { using (var memoryStream = new MemoryStream()) { await createArticleDTO.ImageUrl.CopyToAsync(memoryStream); var content = memoryStream.ToArray(); var extension = Path.GetExtension(createArticleDTO.ImageUrl.FileName); article.ImageUrl = await _fileStorageService.SaveFile(content, extension, containerName, createArticleDTO.ImageUrl.ContentType); } } _context.Add(article); await _context.SaveChangesAsync(); var articleDTO = _mapper.Map <ArticleDTO>(article); return(CreatedAtAction("GetArticle", new { id = articleDTO.Id }, article)); }