예제 #1
0
        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);
        }
예제 #2
0
        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);
        }