public static void SetUp(TestContext context)
        {
            Context = new TestDataContext();

            blogId1 = Guid.NewGuid();

            var posts1 = new List<Models.Post>()
            {
                new Models.Post { Id = Guid.NewGuid(), BlogId = blogId1, Title = "TestPost1", Content = "TestContent1", Author = new Models.Author() { Id = Guid.NewGuid(), FirstName = "AuthorFirst1", LastName = "AuthorLast1" } },
                new Models.Post { Id = Guid.NewGuid(), BlogId = blogId1, Title = "TestPost2", Content = "TestContent2", Author = new Models.Author() { Id = Guid.NewGuid(), FirstName = "AuthorFirst2", LastName = "AuthorLast2" } },
                new Models.Post { Id = Guid.NewGuid(), BlogId = blogId1, Title = "TestPost3", Content = "TestContent3", Author = new Models.Author() { Id = Guid.NewGuid(), FirstName = "AuthorFirst3", LastName = "AuthorLast3" } },
            };

            var blog1 = new Models.Blog { Id = blogId1, Name = "BlogName1", Posts = posts1 };

            Context.Blogs.Add(blog1);

            var blogQueryResult = new BlogQueryResult
            {
                Id = blogId1,
                Name = "BlogName1",
                CreatedDate = DateTime.Now,
                UpdatedDate = DateTime.Now,
                Posts = new List<PostListItem>() 
                {
                    new PostListItem() { Id = Guid.NewGuid(), Title = "TestPost1", Content = "TestContent1", AuthorName = "AuthorFirst1 AuthorLast1", NumberOfComments = 3, PostDate = DateTime.Now },
                    new PostListItem() { Id = Guid.NewGuid(), Title = "TestPost2", Content = "TestContent2", AuthorName = "AuthorFirst2 AuthorLast2", NumberOfComments = 2, PostDate = DateTime.Now },
                    new PostListItem() { Id = Guid.NewGuid(), Title = "TestPost3", Content = "TestContent3", AuthorName = "AuthorFirst3 AuthorLast3", NumberOfComments = 1, PostDate = DateTime.Now }
                }
            };

            Mapper = new Mock<IMappingEngine>();
            Mapper.Setup(m => m.Map<Models.Blog, BlogQueryResult>(It.IsAny<Models.Blog>(), It.IsAny<BlogQueryResult>())).Returns(blogQueryResult);
        }
示例#2
0
        public ActionResult Write(Models.Blog blog, FormCollection fc)
        {
            for (int i = 1; i < fc.AllKeys.Length; i++)
            {
                string key   = fc.GetKey(i);
                string value = fc.Get(key);
                if (value.Trim().Equals(""))
                {
                    return(Content("<script>alert('" + key + "不能为空,请重新输入!');window.open('" + Url.Content("~/User/Write") + "', '_self')</script>"));
                }
            }

            try
            {
                blog.BlogTitle      = fc["title"];
                blog.BlogContent    = fc["editor"];
                blog.Classification = fc["classification"];
                blog.BloggerID      = Session["UserID"].ToString();
                blog.CreateTime     = DateTime.Now;
                blog.ModifyTime     = DateTime.Now;
                db.Blogs.Add(blog);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                return(Content("<script>alert('输入好像有点问题!');window.open('" + Url.Content("~/User/Write") + "', '_self')</script>"));
            }
            return(Content("<script>alert('发表成功');window.open('" + Url.Content("~/User/Index") + "', '_self')</script>"));
        }
示例#3
0
 public static Database.Blog MapModelBlog(Models.Blog blog)
 {
     return(new Database.Blog()
     {
         Text = blog.Text, Headline = blog.Headline, IsOpen = blog.IsOpen, UserId = blog.UserId
     });
 }
示例#4
0
        public async Task <IActionResult> PutBlog(int id, Models.Blog blog)
        {
            if (id != blog.BlogId)
            {
                return(BadRequest());
            }

            _context.Entry(blog).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BlogExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#5
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (UploadedImage != null)
            {
                var file = "./wwwroot/img/" + UploadedImage.FileName;
                using (var fileStream = new FileStream(file, FileMode.Create))
                {
                    await UploadedImage.CopyToAsync(fileStream);
                }
            }
            Models.Blog blog = new Models.Blog();

            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            blog.Date   = DateTime.Now;
            blog.Header = Header;
            blog.Text   = Text;
            blog.Image  = UploadedImage != null ? UploadedImage.FileName:"";
            blog.UserId = userId;

            _context.Blog.Add(blog);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
示例#6
0
 public ActionResult DeleteConfirmed(int id)
 {
     Models.Blog blog = db.Blogs.Find(id);
     db.Blogs.Remove(blog);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
示例#7
0
        public static void addObject(FormCollection collection, UserSection section)
        {
            DataBaseBlog db = new DataBaseBlog();

            Models.Blog obj = new Models.Blog();


            obj.ID        = Guid.NewGuid().ToString();
            obj.title     = collection["title"];
            obj.contents  = collection["contents"];
            obj.thumbnail = collection["thumbnail"];
            obj.status    = 2;
            obj.create_at = DateTime.Now;
            obj.create_by = section.UserID;


            db.Set(obj.GetType()).Add(obj);
            db.SaveChanges();

            if (collection["categories"] != null)
            {
                List <string> result = collection["categories"].Split(',').ToList();
                blog_category_Data.inserts(obj.ID, result);
            }
        }
示例#8
0
        public async Task <ActionResult> Edit(int id, [Bind("ID,Title,BloggerName,Posts,User")] Models.Blog blog)
        {
            if (id != blog.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(blog);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!BlogExists(blog.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }

            return(View(blog));
        }
示例#9
0
        public ActionResult Details(string id)
        {
            //this is fake data for now
            Models.Blog newBlog = new Models.Blog { BlogTitle = "Bad Blog", BlogAuthor = "A. Laa" };
            Models.Blog newerBlog = new Models.Blog
            {
                BlogTitle = "Worse Blog",
                BlogAuthor = "W. Ho",
                BlogPosts = new List<Models.Post>
                {
                    new Models.Post { PostTitle = "Local Idiot Ruins Everything", PostContent = "Lipsum would be nice." },
                    new Models.Post { PostTitle ="Old Man Yells at Cloud", PostContent="1,2,3,4,5,6,7..." }
                }
            };

            BlogViewModel bvm = new BlogViewModel { TheBlogs = new List<Models.Blog> { newBlog, newerBlog }, NumberOfBlogs = 2 /*That's not right*/ };

            foreach (Models.Blog blg in bvm.TheBlogs)
            {
                if (blg.BlogTitle==id)
                {
                    return (View(blg));
                }
            }
            return View();
        }
示例#10
0
        public ActionResult EditBlog(Models.Blog blog, int[] selectedTags, HttpPostedFileBase Image)
        {
            if (ModelState.IsValid)
            {
                Models.Blog newBlog = db.Blogs.Find(blog.Id);
                newBlog.Name     = blog.Name;
                newBlog.MainText = blog.MainText;
                newBlog.Tag      = blog.Tag;

                if (Image != null)
                {
                    newBlog.ImageMimeType = Image.ContentType;
                    newBlog.ImageData     = new byte[Image.ContentLength];
                    Image.InputStream.Read(newBlog.ImageData, 0, Image.ContentLength);
                }

                newBlog.Tags.Clear();
                if (selectedTags != null)
                {
                    foreach (var c in db.Tags.Where(co => selectedTags.Contains(co.Id)))
                    {
                        newBlog.Tags.Add(c);
                    }
                }
                db.Entry(newBlog).State = EntityState.Modified;
                newBlog.AuthorId        = 2;
                Author a = new Author();
                a.Name         = User.Identity.Name;
                a.Id           = 2;
                newBlog.Author = a;
                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
示例#11
0
        public ActionResult <Models.Blog> EditBlog([FromBody] Models.Blog blog, [FromQuery] int id)
        {
            if (ModelState.IsValid)
            {
                string nameUser = User.Identity.Name;
                if (nameUser != null)
                {
                    Models.Blog blogDB = _context.Blog.Where(b => b.Id == id).FirstOrDefault();

                    blogDB.Topic    = blog.Topic;
                    blogDB.Title    = blog.Title;
                    blogDB.Headline = blog.Headline;
                    blogDB.Text     = blog.Text;

                    _context.Blog.Update(blogDB);
                    _context.SaveChanges();

                    return(Ok());
                }
                else
                {
                    return(StatusCode(401));
                }
            }
            return(BadRequest());
        }
示例#12
0
 public ActionResult blogdelete(int BlogID)//博文删除
 {
     Models.Blog blog = db.Blogs.Find(BlogID);
     db.Blogs.Remove(blog);
     db.SaveChanges();
     return(Content("<script>alert('博文删除成功!');window.open('" + Url.Content("~/User/Index") + "', '_self')</script>"));
 }
示例#13
0
        public async Task <ActionResult <Models.Blog> > PostBlog(Models.Blog blog)
        {
            _context.Blogs.Add(blog);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBlog", new { id = blog.BlogId }, blog));
        }
示例#14
0
        public ActionResult <Models.Blog> AddBlog([FromBody] Models.Blog blog)
        {
            if (ModelState.IsValid)
            {
                string nameUser = User.Identity.Name;
                if (nameUser != null)
                {
                    List <User> userList = new List <User>();
                    userList = _context.User.ToList();

                    foreach (User user in userList)
                    {
                        if (user.Username == nameUser)
                        {
                            blog.User   = user;
                            blog.UserId = user.Id;
                            _context.Blog.Add(blog);
                            _context.SaveChanges();
                        }
                    }
                    return(Ok());
                }
                else
                {
                    return(StatusCode(401));
                }
            }
            return(BadRequest());
        }
示例#15
0
        public async Task <ValidationResult> Handle(UpdateBlogCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                return(request.ValidationResult);
            }

            Models.Blog existingBlog = _blogRepository.Find(request.Id);

            if (existingBlog == null)
            {
                AddError("Blog not found");
            }
            else
            {
                if (request.Title != existingBlog.Title)
                {
                    existingBlog.ChangeTitle(request.Title);
                }

                await _blogRepository.Update(existingBlog);

                await _blogRepository.Commit();
            }

            return(ValidationResult);
        }
示例#16
0
        public void Handle(UpdateBlogCommand message)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return;
            }

            var blog         = new Models.Blog(message.Id, message.Name, message.Title, message.Slug, message.Description, message.CreatedUtc, message.ModifiedUtc, message.PublishedUtc, message.CreatedByUserId, message.CommonStatusId);
            var existingBlog = _blogRepository.GetByName(blog.Name);

            if (existingBlog != null)
            {
                if (!existingBlog.Equals(blog))
                {
                    Bus.RaiseEvent(new DomainNotification(message.MessageType, "The blog name has already been taken."));
                    return;
                }
            }

            _blogRepository.Update(blog);

            if (Commit())
            {
                Bus.RaiseEvent(new BlogUpdatedEvent(blog.Id, blog.Name, blog.Title, blog.Slug, blog.Description, blog.CreatedUtc, blog.ModifiedUtc, blog.PublishedUtc, blog.CreatedByUserId, blog.CommonStatusId));
            }
        }
示例#17
0
        public ActionResult seeblogdetails(int BlogID)                                                    //查看博文详情
        {
            Models.Blog           blog     = db.Blogs.Find(BlogID);                                       //找到博文
            Models.UserAccount    user     = db.UserAccounts.Find(blog.BloggerID);                        //找到博主的信息存好
            List <Models.Comment> comments = db.Comments.Where(m => m.BlogID == BlogID).ToList();         //吧博文的评论保存好
            List <Models.Focus>   fans     = db.Focuses.Where(m => m.Focused == blog.BloggerID).ToList(); //粉丝数
            List <Models.Focus>   focus    = db.Focuses.Where(m => m.DoFocus == blog.BloggerID).ToList(); //关注的人数
            int fancount   = fans.Count();
            int focuscount = focus.Count();

            //赞数和是否已经点赞过
            String             UserID     = Session["UserID"].ToString();
            List <Models.Like> likes      = db.Likes.Where(n => n.BlogID == BlogID).Where(m => m.UserID == UserID).ToList(); //判断用户是否点赞过
            double             likescount = db.Likes.Where(m => m.BlogID == BlogID).Count();                                 //所有的赞数

            ViewData["likescount"]   = likescount;
            ViewData["BloggerImage"] = user.UserImage;
            ViewData["BloggerID"]    = user.UserID;
            ViewData["userName"]     = user.UserName;
            ViewData["userID"]       = user.UserID;
            ViewData["fancount"]     = fancount;
            ViewData["focuscount"]   = focuscount;
            ViewBag.comments         = comments;
            return(View(blog));
        }
示例#18
0
        public ActionResult <Models.Blog> DeleteBlog([FromQuery] int id)
        {
            if (ModelState.IsValid)
            {
                string nameUser = User.Identity.Name;
                if (nameUser != null)
                {
                    List <Comment> comments = _context.Comment.Where(c => c.BlogId == id).ToList();

                    // Удаление комментариев к блогу
                    foreach (Comment comment in comments)
                    {
                        _context.Comment.Remove(comment);
                    }

                    // Удаление самого блога
                    Models.Blog blogDB = _context.Blog.Where(b => b.Id == id).FirstOrDefault();
                    _context.Blog.Remove(blogDB);
                    _context.SaveChanges();

                    return(Ok());
                }
                else
                {
                    return(StatusCode(401));
                }
            }
            return(BadRequest());
        }
示例#19
0
 public ActionResult DeleteBlogs(int BlogID)
 {
     Models.Blog blog = db.Blogs.Find(BlogID);
     db.Blogs.Remove(blog);
     db.SaveChanges();
     return(Content("<script>alert('博文删除成功!');window.open('" + Url.Content("~/Admin/ViewBlogs") + "', '_self')</script>"));
 }
示例#20
0
 public ActionResult blogedit(FormCollection fc, int BlogID)
 {
     for (int i = 1; i < fc.AllKeys.Length; i++)
     {
         string key   = fc.GetKey(i);
         string value = fc.Get(key);
         if (value.Trim().Equals(""))
         {
             return(Content("<script>alert('" + key + "不能为空,请重新输入!');window.open('" + Url.Content("~/UserBlog/seeblogdetails?BlogID=" + BlogID + "") + "', '_self')</script>"));
         }
     }
     try
     {
         Models.Blog editblog = db.Blogs.Find(BlogID);
         editblog.BlogTitle       = fc["title"];
         editblog.BlogContent     = fc["editor"];
         editblog.Classification  = fc["classification"];
         editblog.ModifyTime      = DateTime.Now;
         db.Entry(editblog).State = EntityState.Modified;
         db.SaveChanges();
     }
     catch (Exception e)
     {
         return(Content("<script>alert('修改过程好像有点问题!');window.open('" + Url.Content("~/UserBlog/seeblogdetails?BlogID=" + BlogID + "") + "', '_self')</script>"));
     }
     return(Content("<script>alert('修改成功');window.open('" + Url.Content("~/UserBlog/seeblogdetails?BlogID=" + BlogID + "") + "', '_self')</script>"));
 }
示例#21
0
 public Task Update(Models.Blog blog)
 {
     return(Task.Run(async() =>
     {
         _context.Entry(blog).State = EntityState.Modified;
         await _context.SaveChangesAsync();
     }));
 }
示例#22
0
        public void Create(Models.Blog blog)
        {
            var blogs = GetAllBlogs();

            blogs.Add(blog);
            // зберегти
            session["blogs"] = blogs;
        }
示例#23
0
        public async Task Create(Models.Blog blog)
        {
            if (blog != null)
            {
                await _context.Blogs.AddAsync(blog);

                await _context.SaveChangesAsync();
            }
        }
示例#24
0
 public BlogViewModel(Models.Blog blog)
 {
     BlogId      = blog.BlogId;
     UserId      = blog.UserId;
     Title       = blog.User.BlogSettings.Title;
     Description = blog.User.BlogSettings.Description;
     User        = blog.User;
     Posts       = new List <PostViewModel>();
 }
 public void Delete(int id)
 {
     Models.Blog Blog = _BlogRepository.GetBlog(id);
     if (Blog != null && Blog.ModuleId == _authEntityId[EntityNames.Module])
     {
         _BlogRepository.DeleteBlog(id);
         _logger.Log(LogLevel.Information, this, LogFunction.Delete, "Blog Deleted {BlogId}", id);
     }
 }
示例#26
0
        public static string Save(Models.Blog blog, string userId = null)
        {
            userId        = string.IsNullOrEmpty(userId) ? CoreServices.Account.CurrentIdentityName : userId;
            blog.PortalId = string.IsNullOrEmpty(blog.PortalId) ? CoreServices.Portal.CurrentPortalId : blog.PortalId;
            Validate(blog);
            var res = CoreServices.Repository.Current.StoreResource("Blog", null, blog, userId);

            return(res.Id);
        }
示例#27
0
 public ActionResult Delete(int id)
 {
     Models.Blog blog = db.Blogs.Find(id);
     if (blog == null)
     {
         return(HttpNotFound());
     }
     return(View(blog));
 }
示例#28
0
 public static void Validate(Models.Blog blog)
 {
     if (string.IsNullOrEmpty(blog.Name))
     {
         throw new Exception(CoreServices.Localization.GetExceptionText("InvalidResource.Error", "{0} is invalid.", "Blog"));
     }
     if (Exists(blog))
     {
         throw new Exception(CoreServices.Localization.GetExceptionText("DuplicateResource.Error", "{0} already exists.   Duplicates Not Allowed.", "Blog"));
     }
 }
示例#29
0
 public static void Validate(Models.Blog blog, Models.BlogEntry entry)
 {
     if (blog == null || string.IsNullOrEmpty(entry.Url))
     {
         throw new Exception(CoreServices.Localization.GetExceptionText("InvalidResource.Error", "{0} is invalid.", "Blog Entry"));
     }
     else if (blog.Entries.Exists(e => e.Url.Equals(entry.Url, StringComparison.InvariantCultureIgnoreCase) && e.Id != entry.Id))
     {
         throw new Exception(CoreServices.Localization.GetExceptionText("DuplicateResource.Error", "{0} already exists.   Duplicates Not Allowed.", "Blog Entry"));
     }
 }
示例#30
0
        protected override GetBlogByIdQueryResult OnExecuting(IdCriterion criterion)
        {
            Models.Blog item = DataContext.Blogs.Find(criterion.Id);

            GetBlogByIdQueryResult result = new GetBlogByIdQueryResult
            {
                Blog    = item,
                IsFound = item != null
            };

            return(result);
        }
示例#31
0
 public ActionResult Edit([Bind(Include = "Id,Name,UrlName,Description,MiniatureUrl,CategoryId,UserId")] Models.Blog blog)
 {
     if (ModelState.IsValid)
     {
         db.Entry(blog).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.BlogCategoryId = new SelectList(db.BlogCategories, "Id", "Name", blog.CategoryId);
     ViewBag.UserId         = new SelectList(db.Users, "Id", "Email", blog.UserId);
     return(View(blog));
 }
示例#32
0
        public ActionResult CancelRecommendBlogs(int BlogID)
        {
            var result      = db.Recommends.Where(m => m.BlogID == BlogID);
            int RecommendID = result.First().RecommendID;

            Models.Recommend recommendModel = db.Recommends.Find(RecommendID);
            db.Recommends.Remove(recommendModel); //删除推荐表中的记录
            Models.Blog blog = db.Blogs.Find(BlogID);
            blog.isRecommended = false;           //将博文表中的是否推荐改为否
            db.SaveChanges();
            return(Content("<script>alert('取消推荐成功!');window.open('" + Url.Content("~/Admin/ViewBlogs") + "', '_self')</script>"));
        }
        public static void SetUp(TestContext context)
        {
            Context = new TestDataContext();

            blogId1 = Guid.NewGuid();
            blogId2 = Guid.NewGuid();
            blogId3 = Guid.NewGuid();

            var posts1 = new List<Post>()
            {
                new Post { Id = Guid.NewGuid(), BlogId = blogId1, Title = "TestPost1", Content = "TestContent1", Author = new Author() { Id = Guid.NewGuid(), FirstName = "AuthorFirst1", LastName = "AuthorLast1" } },
                new Post { Id = Guid.NewGuid(), BlogId = blogId1, Title = "TestPost2", Content = "TestContent2", Author = new Author() { Id = Guid.NewGuid(), FirstName = "AuthorFirst2", LastName = "AuthorLast2" } },
                new Post { Id = Guid.NewGuid(), BlogId = blogId1, Title = "TestPost3", Content = "TestContent3", Author = new Author() { Id = Guid.NewGuid(), FirstName = "AuthorFirst3", LastName = "AuthorLast3" } },
            };

            var posts2 = new List<Post>()
            {
                new Post { Id = Guid.NewGuid(), BlogId = blogId2, Title = "TestPost4", Content = "TestContent4", Author = new Author() { Id = Guid.NewGuid(), FirstName = "AuthorFirst4", LastName = "AuthorLast4" } },
                new Post { Id = Guid.NewGuid(), BlogId = blogId2, Title = "TestPost5", Content = "TestContent5", Author = new Author() { Id = Guid.NewGuid(), FirstName = "AuthorFirst5", LastName = "AuthorLast5" } }
            };

            var posts3 = new List<Post>()
            {
                new Post { Id = Guid.NewGuid(), BlogId = blogId3, Title = "TestPost6", Content = "TestContent6", Author = new Author() { Id = Guid.NewGuid(), FirstName = "AuthorFirst6", LastName = "AuthorLast6" } }
            };

            var blog1 = new Models.Blog { Id = blogId1, Name = "BlogName1", Posts = posts1 };
            var blog2 = new Models.Blog { Id = blogId2, Name = "BlogName2", Posts = posts2 };
            var blog3 = new Models.Blog { Id = blogId3, Name = "BlogName3", Posts = posts3 };

            Context.Blogs.Add(blog1);
            Context.Blogs.Add(blog2);
            Context.Blogs.Add(blog3);

            var blogsQueryResult = new List<BlogListItem>
            {
                new BlogListItem { Id = blogId1, Name = "BlogName1", NumberOfPosts = 3, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now },
                new BlogListItem { Id = blogId2, Name = "BlogName2", NumberOfPosts = 2, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now },
                new BlogListItem { Id = blogId3, Name = "BlogName3", NumberOfPosts = 1, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now }
            };

            Mapper = new Mock<IMappingEngine>();

            Mapper.Setup(m => m.Map<List<Models.Blog>, List<BlogListItem>>(It.IsAny<List<Models.Blog>>(), It.IsAny<List<BlogListItem>>()))
                                .Callback((List<Models.Blog> blogs, List<BlogListItem> queryResults) =>
                                {
                                    queryResults.AddRange(blogsQueryResult);
                                });
        }