Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 5
0
        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());
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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));
        }