Beispiel #1
0
        public async Task <Article> CreateArticleAndHistory(Article article)
        {
            var efArticle = ArticleDAO.FromDomain(article);

            Context.Articles.Add(efArticle);
            Context.ArticleHistories.Add(ArticleHistoryDAO.FromArticle(efArticle));
            await Context.SaveChangesAsync();

            return(efArticle.ToDomain());
        }
        public Task AddToHistory(string oldSlug, Core.Domain.Article article)
        {
            var newSlug = new SlugHistoryDAO()
            {
                OldSlug       = oldSlug,
                Article       = ArticleDAO.FromDomain(article),
                AddedDateTime = DateTime.UtcNow
            };

            Context.SlugHistories.Add(newSlug);
            return(Context.SaveChangesAsync());
        }
Beispiel #3
0
        public async Task Update(Article article)
        {
            var efArticle = ArticleDAO.FromDomain(article);

            Context.Attach(efArticle).State = EntityState.Modified;

            Context.ArticleHistories.Add(ArticleHistoryDAO.FromArticle(efArticle));

            try
            {
                await Context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!await Exists(article.Id))
                {
                    throw new ArticleNotFoundException();
                }
                else
                {
                    throw;
                }
            }
        }