public async Task <BlogPost> UpdateBlogPost(IUpdateBlogPost model) { var post = await this.GetById(model.Id); if (post == null) { throw new EntityNotFoundException("Публикацията не е намерена!"); } post.Alias = model.Alias; post.EmbedetVideo = model.EmbededVideo; post.MetaDescription = model.MetaDescription; post.MetaKeyWords = model.MetaKeyWords; post.ShortDescription = model.ShortDescription; post.ShowOnHomePage = model.ShowOnHomePage; post.Subtitle = model.Subtitle; post.ThumbImageId = model.ThumbImageId; post.Title = model.Title; if (post.LastState != model.State) { post.LastState = model.State; var state = new BlogPostState() { BlogPost = post, DateSet = DateTime.Now, State = model.State }; await this.blogStatesRepository.AddAsync(state); } await this.blogsRepository.SaveAsync(); return(post); }
public async Task <BlogPost> CreateBlogPost(ICreateBlogPost model) { BlogPost post = new BlogPost() { Alias = model.Alias, EmbedetVideo = model.EmbededVideo, ShortDescription = model.ShortDescription, ThumbImageId = model.ThumbImageId, ShowOnHomePage = false, LastState = BlogPostStates.Draft, UserId = model.CreatorId, ViewCount = 0, Subtitle = model.Subtitle, Title = model.Title }; BlogPostState state = new BlogPostState() { BlogPost = post, DateSet = DateTime.Now, State = BlogPostStates.Draft }; await this.blogsRepository.AddAsync(post); await this.blogsRepository.SaveAsync(); await this.blogStatesRepository.AddAsync(state); await this.blogStatesRepository.SaveAsync(); return(post); }