示例#1
0
        public async Task <CreateArticleDTO> Handle(CreateArticleCommand command, CancellationToken token)
        {
            var thumbnail = new Thumbnails {
                Content = command.Thumbnail
            };
            await _context.Thumbnails
            .AddAsync(thumbnail, token);

            var article = new Data.Article
            {
                Thumbnail = thumbnail,
                Content   = command.Content,
                Author    = await _context.AspNetUsers
                            .FindAsync(command.AuthorId),
                Title       = command.Title,
                Created     = command.Created,
                Description = command.Description
            };
            await _context.Article
            .AddAsync(article, token);

            await _context.SaveChangesAsync(token);

            return(new CreateArticleDTO {
                ArticleId = article.Id
            });
        }
示例#2
0
        private static object convertArticleToModel(object src)
        {
            p1p.Types.DTO.ArticleDTO dto = (p1p.Types.DTO.ArticleDTO)src;
            p1p.Data.Article         mdl = new Data.Article();

            mdl.Id              = dto.Id;
            mdl.Title           = dto.Title;
            mdl.CreatedBy       = dto.CreatedBy;
            mdl.ArticleStatusId = dto.ArticleStatusId;
            mdl.Content         = dto.Content;
            mdl.CreatedDate     = dto.CreatedDate;

            return(mdl);
        }
示例#3
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Article = await _context.Article
                      .Include(a => a.Category).FirstOrDefaultAsync(m => m.ArticleId == id);

            if (Article == null)
            {
                return(NotFound());
            }
            return(Page());
        }
示例#4
0
        //Dodavanje u bazu podataka
        public async Task <ActionResult> Add(string naziv, string sadrzaj, string autor)
        {
            var client = new MongoClient("mongodb://localhost");

            database = client.GetDatabase("portal");
            var articlesCol = database.GetCollection <Article>("vijesti");
            var novi        = new Data.Article();

            novi.naziv   = naziv;
            novi.sadrzaj = sadrzaj;
            novi.autor   = autor;
            novi.link    = null;
            await articlesCol.InsertOneAsync(novi);

            return(RedirectToAction("Index"));
        }
示例#5
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Article = await _context.Article.FindAsync(id);

            if (Article != null)
            {
                _context.Article.Remove(Article);
                await _context.SaveChangesAsync();
            }
            var user = await _userManager.GetUserAsync(User);

            logger.Info("{user} deleted article {article} - carrying {id} on {date}", user.Email, Article.ArticleName, Article.ArticleId, DateTime.Now);
            return(RedirectToPage("../Articles"));
        }
        public Envelope <Article> CreateArticle([FromBody] Envelope <NewArticle> articleEnvelope)
        {
            EnsureModelValid();

            var article = articleEnvelope.Content;

            if (article.TagList.Any(string.IsNullOrEmpty))
            {
                ModelState.AddModelError("TagList", "There were blank tags in the tag list");
            }
            if (article.TagList.Any(x => x.Length > 100))
            {
                ModelState.AddModelError("TagList", "Some of the tags were too long");
            }

            EnsureModelValid();

            string slug   = GenerateSlug(article.Title);
            var    author = _dbContext.Users.Single(u => u.Username == Username);

            Data.Tag[] dbTags = article.TagList.Distinct(StringComparer.OrdinalIgnoreCase).Select(t => new Data.Tag {
                TagName = t
            }).ToArray();
            var dbArticle = new Data.Article
            {
                Author      = author,
                Body        = article.Body,
                CreatedAt   = DateTime.UtcNow,
                Description = article.Description,
                Slug        = slug,
                Title       = article.Title,
                UpdatedAt   = DateTime.UtcNow,
                Tags        = dbTags
            };

            _dbContext.Articles.Add(dbArticle);
            _dbContext.SaveChanges();

            return(new Envelope <Article>
            {
                EnvelopePropertyName = "article",
                Content = new Article
                {
                    Author = new Profile
                    {
                        Bio = author.Bio,
                        Following = false,
                        Image = author.Image,
                        Username = author.Username
                    },
                    Body = dbArticle.Body,
                    CreatedAt = dbArticle.CreatedAt,
                    Description = dbArticle.Description,
                    Favorited = false,
                    FavoritesCount = 0,
                    Slug = dbArticle.Slug,
                    TagList = dbArticle.Tags.Select(z => z.TagName).ToArray(),
                    Title = dbArticle.Title,
                    UpdatedAt = dbArticle.UpdatedAt
                }
            });
        }
示例#7
0
 private void MarkArticleRead(Article art)
 {
     art.Unread = false;
     Data.Article dataArticle = new Data.Article(art);
     dataArticle.Save();
 }
示例#8
0
 private void MarkArticleRead(Article art)
 {
     art.Unread = false;
     Data.Article dataArticle = new Data.Article(art);
     dataArticle.Save();
 }