コード例 #1
0
ファイル: BlogController.cs プロジェクト: etuannv/TNVTH
 public ActionResult AddNew()
 {
     IEnumerable<T_Tag> CatList = _tagServices.GetByTaxonomyForDisplay(Utilities.Constants.TAXONOMY_CATEGORY);
     BlogViewModel model = new BlogViewModel();
     model.CategoryList = CatList.ToList();
     return View("AddNew", model);
 }
コード例 #2
0
ファイル: BlogController.cs プロジェクト: alin-rautoiu/Cart42
        public ActionResult Create(BlogViewModel model)
        {
            if (ModelState.IsValid)
            {
                blogService.AddOrUpdate(model);

                var action = RedirectToAction("Index");
                return action.WithSuccess(string.Format("The blog \"{0}\" has been added".TA(), model.Title));
            }
            return View(model);
        }
コード例 #3
0
ファイル: BlogController.cs プロジェクト: SokolovArtur/Blog
        public ActionResult Index(int? page)
        {
            // Ограничение по времени и сортировка.
            List<Posts> posts = db.Posts.Where(p => p.Date <= DateTime.Today).OrderByDescending(p => p.Date).ToList();
            // Постраничная навигация.
            IPagedList<Posts> pagedPosts = posts.ToPagedList((page ?? 1), 10);

            BlogViewModel viewModel = new BlogViewModel();
            viewModel.PostsList = pagedPosts;
            return View(viewModel);
        }
コード例 #4
0
ファイル: AdminController.cs プロジェクト: eouw0o83hf/Blog
 public ActionResult Blog(BlogViewModel blog)
 {
     var domainModel = new BlogModel
     {
         BlogId = blog.BlogId ?? 0,
         Description = blog.Description,
         Name = blog.Name,
         UrlName = blog.UrlName
     };
     var blogId = BlogService.CreateOrUpdateBlog(domainModel);
     return RedirectToAction("Blogs");
 }
コード例 #5
0
 public BlogHomePage()
 {
     this.InitializeComponent();
     NavigationCacheMode = NavigationCacheMode.Required;
     BlogViewModel = new BlogViewModel();
     BlogViewModel.OnLoadMoreStarted += count => LoadingProgressRing.IsActive = true;
     BlogViewModel.OnLoadMoreCompleted += count => LoadingProgressRing.IsActive = false;
     ReadRankBlogViewModel = new ReadRankBlogViewModel();
     ReadRankBlogViewModel.OnLoadMoreStarted += count => LoadingProgressRing.IsActive = true;
     ReadRankBlogViewModel.OnLoadMoreCompleted += count => LoadingProgressRing.IsActive = false;
     RecommendBlogViewModel = new RecommendBlogViewModel();
     RecommendBlogViewModel.OnLoadMoreStarted += count => LoadingProgressRing.IsActive = true;
     RecommendBlogViewModel.OnLoadMoreCompleted += count => LoadingProgressRing.IsActive = false;
 }
コード例 #6
0
        public IActionResult Create(BlogViewModel newPost)
        {
            newPost.PostDate = DateTime.Now;
            var db = new BlogDBContext(new DbContextOptions <BlogDBContext>());

            db.Blogs.Add(new BlogsEntityModel {
                Title      = newPost.Title,
                PostDate   = newPost.PostDate,
                Blog       = newPost.Blog,
                BlogHtml   = newPost.BlogHtml,
                Permission = newPost.Permission
            });
            db.SaveChangesAsync();
            return(RedirectToAction("Index"));
        }
コード例 #7
0
        public IHttpActionResult UpdateBlog(BlogViewModel model)
        {
            model.UpdatedBy = User.Identity.GetUserId <long>();
            _blogService.BlogUpdate(model.ToModel());
            var fileGroupsItem = model.FileGroupItem != null?model.FileGroupItem.ToModel() : null;

            if (fileGroupsItem != null && (fileGroupsItem.Id == null || fileGroupsItem.Id == 0))
            {
                //set target path and move file from target location
                fileGroupsItem = _fileGroupService.SetPathAndMoveSingleFile(fileGroupsItem, model.Id);
                //Save list of file in our DB
                _fileGroupService.FileGroupItemsInsert(fileGroupsItem);
            }
            return(Ok("Blog Update successfully".SuccessResponse()));
        }
コード例 #8
0
        public IActionResult Edit(BlogViewModel editPost)
        {
            var db            = new BlogDBContext(new DbContextOptions <BlogDBContext>());
            var articleInEdit = db.Blogs.SingleOrDefault(x => x.BlogID == editPost.ID);

            if (articleInEdit != null)
            {
                articleInEdit.Blog       = editPost.Blog;
                articleInEdit.BlogHtml   = editPost.BlogHtml;
                articleInEdit.Permission = editPost.Permission;
                articleInEdit.Title      = editPost.Title;
            }
            db.SaveChangesAsync();
            return(RedirectToAction("Index"));
        }
コード例 #9
0
ファイル: PostController.cs プロジェクト: danruziska/70-486
        // GET: Post
        public ActionResult Index()
        {
            /*
             * Exemplo de modelo de viewmodel
             * Nessa abordagem, a model representa um objeto intermediário entre a model e a view, normalmente esse objeto
             * é utilizado quando há mais de uma entity que deve ser retornada, então a ViewModel encapsula essas entities
             * (no caso, blog e post)
             */
            BlogModel     bm  = new BlogModel();
            BlogViewModel bvm = new BlogViewModel();

            bvm.Blogs = bm.GetBlogs();
            bvm.Posts = bm.GetPosts();
            return(View(bvm));
        }
コード例 #10
0
        public async Task AddAsync(BlogViewModel blogModel, string userId)
        {
            var blog = new Blog
            {
                Theme       = Enum.Parse <Theme>(blogModel.Theme, true),
                Title       = blogModel.Title,
                Description = blogModel.Description,
                ImageUrl    = blogModel.Image,
                CreatorId   = userId
            };

            await this.db.Blogs.AddAsync(blog);

            await this.db.SaveChangesAsync();
        }
コード例 #11
0
        public async Task <int> SaveMetaData(BlogViewModel model)
        {
            var blog = (Blog)model;

            if (model.Logo?.Length > 0)
            {
                var fileName = $@"{_env.WebRootPath}\{_blogOptions.Value.ImagesFolder}\{model.Logo.FileName}";

                using (var stream = new FileStream(fileName, FileMode.Create))
                {
                    await model.Logo.CopyToAsync(stream);
                }
                blog.Logo = $@"{_blogOptions.Value.ImagesFolder}\{model.Logo.FileName}";;
            }

            if (model.Cover?.Length > 0)
            {
                var fileName = $@"{_env.WebRootPath}\{_blogOptions.Value.ImagesFolder}\{model.Cover.FileName}";
                using (var stream = new FileStream(fileName, FileMode.Create))
                {
                    await model.Cover.CopyToAsync(stream);
                }
                blog.Cover = $@"{_blogOptions.Value.ImagesFolder}\{model.Cover.FileName}";
            }

            if (model.Id != 0)
            {
                var item = await _guavaDbContext
                           .Blogs
                           .AsNoTracking()
                           .FirstOrDefaultAsync();

                if (item != null)
                {
                    _guavaDbContext.Entry(blog).State = EntityState.Modified;
                }
            }
            else
            {
                _guavaDbContext
                .Blogs
                .Add(blog);
            }



            return(await _guavaDbContext.SaveChangesAsync());
        }
        public ActionResult Tag(string tag)
        {
            BlogViewModel vm = new BlogViewModel
            {
                BlogHeader          = db.BlogHeaders.First(),
                BlogToTags          = db.BlogToTags.Where(b => b.BlogTag.Tag.Trim() == tag.Trim()).ToList(),
                BlogTags            = db.BlogTags.ToList(),
                RecentBlogViewModel = new RecentBlogViewModel
                {
                    Blogs = db.Blogs.OrderByDescending(b => b.UpdatedAt).Take(5).ToList()
                }
            };

            ViewBag.Tag = tag;
            return(View(vm));
        }
        public IActionResult UpdateBlog(int blogId)
        {
            var blog = _context.Blogs.Include(x => x.User).FirstOrDefault(x => x.Id == blogId);

            if (blog == null || User.Identity.Name != blog.User.UserName)
            {
                return(RedirectToAction("Index"));
            }

            var model = new BlogViewModel()
            {
                Id = blogId, BlogName = blog.BlogName, Text = blog.Text
            };

            return(View(model));
        }
コード例 #14
0
        public async Task <IActionResult> Add([FromBody] BlogViewModel blogVm)
        {
            var hasPermission = await _authorizationService.AuthorizeAsync(User, "BLOG", Operations.Create);

            if (hasPermission.Succeeded == false)
            {
                return(new BadRequestObjectResult(CommonConstants.Forbidden));
            }
            if (ModelState.IsValid)
            {
                int id = _blogService.Add(blogVm);
                _blogService.SaveChanges();
                return(new OkObjectResult(new { Id = id }));
            }
            return(new BadRequestObjectResult(ModelState));
        }
コード例 #15
0
        public async Task <IActionResult> DeleteAsync(long id)
        {
            BlogViewModel blog = await _blogAndPostClient.GetBlogAsync(id);

            var posts = await _blogAndPostClient.GetBlogPostsAsync(id);

            if (posts == null)
            {
                blog.Posts = new List <PostViewModel>();
            }
            else
            {
                blog.Posts = posts;
            }
            return(View(blog));
        }
コード例 #16
0
        private string UploadedFile(BlogViewModel model)
        {
            string uniqueFileName = null;

            if (model.BlogImage != null)
            {
                string uploadsFolder = Path.Combine(webHostEnvironment.WebRootPath, "images");
                uniqueFileName = Guid.NewGuid().ToString() + "_" + model.BlogImage.FileName;
                string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    model.BlogImage.CopyTo(fileStream);
                }
            }
            return(uniqueFileName);
        }
コード例 #17
0
ファイル: BlogController.cs プロジェクト: yuabd/BtVideo
        public ActionResult Add()
        {
            var blog = new Movie();

            blog.AuthorID    = GlobalHelper.UserName();
            blog.DateCreated = DateTime.Now;
            blog.IsPublic    = true;
            blog.ShowDate    = DateTime.Now;
            blog.DateUpdate  = DateTime.Now;

            IEnumerable <MovieTag> blogTags = null;

            var model = new BlogViewModel(blog, blogTags);

            return(View(model));
        }
コード例 #18
0
 public ActionResult BlogDetail(int Id)
 {
     using (var context = new ApplicationDbContext())
     {
         var blog   = context.Blogs.SingleOrDefault(x => x.Id == Id);
         var blogvm = new BlogViewModel()
         {
             Title       = blog.Title,
             CreatedDate = blog.CreatedDate,
             UpdatedDate = blog.UpdatedDate,
             Id          = blog.Id,
             Content     = System.Text.Encoding.ASCII.GetString(blog.Content)
         };
         return(View(blogvm));
     }
 }
コード例 #19
0
        public ActionResult Edit(int id, BlogViewModel blog)
        {
            if (!ModelState.IsValid)
            {
                return(View(blog));
            }

            if (id != blog.BlogId)
            {
                return(NotFound());
            }

            new BlogService().EditBlog(id, blog);

            return(RedirectToAction(nameof(Index)));
        }
        public ActionResult Author(string author)
        {
            BlogViewModel vm = new BlogViewModel
            {
                BlogHeader          = db.BlogHeaders.First(),
                BlogToTags          = db.BlogToTags.Where(b => b.Blog.User.Firstname.Trim() == author.Trim()).ToList(),
                BlogTags            = db.BlogTags.ToList(),
                RecentBlogViewModel = new RecentBlogViewModel
                {
                    Blogs = db.Blogs.OrderByDescending(b => b.UpdatedAt).Take(5).ToList()
                }
            };

            ViewBag.Tag = author;
            return(View(vm));
        }
コード例 #21
0
 public IActionResult Edit(BlogViewModel model)
 {
     if (ModelState.IsValid)
     {
         Blog blog = _mapper.Map <BlogViewModel, Blog>(model);
         blog.ModifiedBy = _admin.FullName;
         Blog blogToUpdate = _blogRepository.GetBlogById(blog.Id);
         if (blogToUpdate == null)
         {
             return(NotFound());
         }
         _blogRepository.UpdateFag(blogToUpdate, blog);
         return(RedirectToAction("index"));
     }
     return(View(model));
 }
コード例 #22
0
        public ActionResult Create(BlogViewModel bvm)
        {
            DateTime now = DateTime.Now;
            Blog     b   = new Blog();

            b.Contenu    = bvm.Contenu;
            b.Titre      = bvm.Titre;
            b.NbrComment = 0;
            b.NbrLike    = 0;
            b.DatePost   = now;
            b.Photo      = bvm.Photo;
            blogService.Add(b);
            blogService.Commit();

            return(RedirectToAction("Index"));
        }
コード例 #23
0
 private ActionResult RetrieveBlogViewModel(string vname, int Id)
 {
     using (var context = new ApplicationDbContext())
     {
         var blog   = context.Blogs.SingleOrDefault(x => x.Id == Id);
         var blogvm = new BlogViewModel()
         {
             Title       = blog.Title,
             CreatedDate = blog.CreatedDate,
             Id          = blog.Id,
             Page        = blog.Page,
             Content     = System.Text.Encoding.ASCII.GetString(blog.Content)
         };
         return(View(vname, blogvm));
     }
 }
        public async Task <IActionResult> CreateBlog(BlogViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var blog = new Blog()
            {
                Text = model.Text, BlogName = model.BlogName, DateTime = DateTime.Now,
                User = await _userManager.GetUserAsync(User)
            };

            _context.Add(blog);
            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #25
0
 public BlogPage(RootPage root)
 {
     try
     {
         InitializeComponent();
         _model = new BlogViewModel()
         {
             Root = root
         };
         Init();
     }
     catch (Exception ex)
     {
         new ExceptionHandler(nameof(BlogPage), ClientService.GetExceptionDetail(ex));
     }
 }
コード例 #26
0
ファイル: Blog.cs プロジェクト: Ngvanphong/CoreAppCivil
 public Blog(BlogViewModel blogVm)
 {
     Name           = blogVm.Name;
     Image          = blogVm.Image;
     Description    = blogVm.Description;
     Content        = blogVm.Content;
     HomeFlag       = blogVm.HomeFlag;
     HotFlag        = blogVm.HotFlag;
     ViewCount      = blogVm.ViewCount;
     Tags           = blogVm.Tags;
     Status         = blogVm.Status;
     SeoPageTitle   = blogVm.SeoPageTitle;
     SeoAlias       = blogVm.SeoAlias;
     SeoKeywords    = blogVm.SeoKeywords;
     SeoDescription = blogVm.SeoDescription;
 }
コード例 #27
0
        public void CreateBlog(BlogViewModel blog)
        {
            var context   = new PortfolioContext();
            var entryBlog = new Blog
            {
                BlogId           = blog.BlogId,
                DateSubmitted    = blog.DateSubmitted,
                SystemChangeDate = DateTime.Today,
                Title            = blog.Title,
                Content          = blog.Content,
                Tags             = blog.Tags
            };

            context.Add(entryBlog);
            context.SaveChanges();
        }
コード例 #28
0
        public async Task <ActionResult> Delete([FromQuery] BlogViewModel model)
        {
            try
            {
                var originData = await blogService.FirstOrDefaultAsync(x => x.Id == model.Id);

                originData.Active = false;
                await this.blogService.UpdateAsync(originData);

                return(Ok(BaseResponse <BlogViewModel> .PrepareDataSuccess(originData, "Delete the blog successful!")));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }
コード例 #29
0
        public virtual async Task <IActionResult> Index(
            string category = "",
            int page        = 1)
        {
            var projectSettings = await ProjectService.GetCurrentProjectSettings();

            if (projectSettings == null)
            {
                HttpContext.Response.StatusCode = 404;
                return(new EmptyResult());
            }

            var model = new BlogViewModel(ContentProcessor)
            {
                ProjectSettings = projectSettings,
                // check if the user has the BlogEditor claim or meets policy
                CanEdit         = await User.CanEditBlog(projectSettings.Id, AuthorizationService),
                BlogRoutes      = BlogRoutes,
                CurrentCategory = category
            };

            if (!string.IsNullOrEmpty(model.CurrentCategory))
            {
                model.ListRouteName = BlogRoutes.BlogCategoryRouteName;
            }
            else
            {
                model.ListRouteName = BlogRoutes.BlogIndexRouteName;
            }

            ViewData["Title"] = model.ProjectSettings.Title;
            var result = await BlogService.GetPosts(category, page, model.CanEdit);

            model.Posts      = result.Data;
            model.Categories = await BlogService.GetCategories(model.CanEdit);

            model.Archives = await BlogService.GetArchives(model.CanEdit);

            model.Paging.ItemsPerPage = model.ProjectSettings.PostsPerPage;
            model.Paging.CurrentPage  = page;
            model.Paging.TotalItems   = result.TotalItems;
            model.TimeZoneHelper      = TimeZoneHelper;
            model.TimeZoneId          = model.ProjectSettings.TimeZoneId;
            model.NewItemPath         = Url.RouteUrl(BlogRoutes.PostEditRouteName, new { slug = "" });

            return(View("Index", model));
        }
コード例 #30
0
        public IActionResult Index()
        {
            XElement xml     = XElement.Load("https://www.minutoseguros.com.br/blog/feed/");
            var      channel = xml.Element("channel");

            BlogViewModel blog = new BlogViewModel();

            blog.Title         = channel.Element("title").Value;
            blog.Description   = channel.Element("description").Value;
            blog.BlogItens     = new List <BlogItemViewModel> ();
            blog.LastBuildDate = Convert.ToDateTime(channel.Element("lastBuildDate").Value);
            blog.BestWords     = new List <BlogBestWordViewModel> ();

            foreach (var item in channel.Elements("item").OrderByDescending(x => Convert.ToDateTime(x.Element("pubDate").Value)).Take(10))
            {
                BlogItemViewModel blogItem = new BlogItemViewModel();
                blogItem.BestWords   = new List <BlogBestWordViewModel> ();
                blogItem.Title       = item.Element("title").Value;
                blogItem.Link        = item.Element("link").Value;
                blogItem.PubDate     = Convert.ToDateTime(item.Element("pubDate").Value);
                blogItem.Description = item.Element("description").Value;

                try {
                    blogItem.Image = item.Value.Split(new string[] { "img" }, StringSplitOptions.None) [1].Split(new string[] { "src=\"" }, StringSplitOptions.None) [1].Split(new string[] { "\"" }, StringSplitOptions.None) [0];
                } catch {
                    blogItem.Image = "https://www.minutoseguros.com.br/blog/wp-content/uploads/2018/12/para-brisa-trincado-conclusao.jpg";
                }

                blogItem.Categories = new List <string> ();
                foreach (var category in item.Elements("category"))
                {
                    blogItem.Categories.Add(category.Value);
                    blogItem.BestWords = ListBestWords(blogItem.BestWords, category.Value);
                    blog.BestWords     = ListBestWords(blog.BestWords, category.Value);
                }

                // adiciona as melhores palavras para o item e para o total
                blogItem.BestWords = ListBestWords(blogItem.BestWords, blogItem.Title);
                blogItem.BestWords = ListBestWords(blogItem.BestWords, blogItem.Title);
                blog.BestWords     = ListBestWords(blog.BestWords, blogItem.Title);
                blog.BestWords     = ListBestWords(blog.BestWords, blogItem.Title);

                blog.BlogItens.Add(blogItem);
            }

            return(View(blog));
        }
コード例 #31
0
        public ActionResult AddBlogEntry(BlogViewModel vm /*, IEnumerable<HttpPostedFileBase> images*/)
        {
            var repo = RepositoryFactory.CreateRepository();
            var ops  = new BlogPostOperations();

            var blog = new BlogEntry()
            {
                Title      = vm.Title,
                Body       = vm.Body,
                DateExpire = vm.ExpireDate,
                //Images = new List<Image>(),
                User       = repo.GetUserbyAspId(User.Identity.GetUserId()),
                IsApproved = User.IsInRole("Admin")
            };

            #region Commented-out, multi-image upload method
            //TODO: MULTI-IMAGE, EVENTUALLY
            //foreach (var img in images)
            //{
            //    if (img != null && img.ContentLength > 0 && img.ContentType.Contains("image"))
            //    {
            //        try
            //        {
            //            string path = Path.Combine(Server.MapPath("~/App_Data"), Path.GetFileName(img.FileName));
            //            img.SaveAs(path);
            //            blog.Images.Add(new Image {ImgPath = path});
            //        }
            //        catch (Exception ex)
            //        {
            //            ViewBag.Message = "ERROR:" + ex.Message.ToString();
            //        }
            //    }
            //}
            #endregion

            var tags = ops.ParseTags(vm.Body, vm.TagInput);
            foreach (var tag in tags)
            {
                blog.Tags.Add(new Tag {
                    Name = tag
                });
            }

            repo.AddBlogEntry(blog);

            return(RedirectToAction("Index", "Admin"));
        }
コード例 #32
0
        public ActionResult AddReply(BlogViewModel model)
        {
            bool   isAdded = false;
            string error   = "";

            try
            {
                if (ModelState.IsValid)
                {
                    var posts = GetPostsFromSession();
                    var reply = new Reply()
                    {
                        Name    = model.Reply.Name,
                        Email   = model.Reply.Email,
                        Date    = DateTime.UtcNow,
                        Message = model.Reply.Message
                    };
                    model.Reply.Date = DateTime.UtcNow.ToString("MMMM dd, yyyy HH:mm");
                    var comments = posts.Where(p => p.ID == model.Reply.BlogID).FirstOrDefault().Comments;
                    if (comments == null)
                    {
                        comments = new List <Comment>();
                    }
                    List <Reply> replies = null;
                    if (comments.Count() >= model.Reply.CommentID)
                    {
                        replies = comments.ElementAtOrDefault(model.Reply.CommentID).Replies;
                    }
                    if (replies == null)
                    {
                        replies = new List <Reply>();
                    }
                    replies.Add(reply);
                    comments.ElementAtOrDefault(model.Reply.CommentID).Replies = replies;
                    isAdded = postsService.SaveAll(posts);
                    if (isAdded)
                    {
                        TempData["blogPosts"] = JsonConvert.SerializeObject(posts);
                    }
                }
            }
            catch (Exception ex)
            {
                error = ex.Message.ToString();
            }
            return(Json(new { IsAdded = isAdded, Reply = model.Reply, Exception = error }, JsonRequestBehavior.AllowGet));
        }
コード例 #33
0
        public async Task <IEnumerable <BlogViewModel> > GetAllAsync()
        {
            var list = await _blogRepository.ListAllAsync();

            var resul = new List <BlogViewModel>();

            foreach (var item in list)
            {
                var b = new BlogViewModel
                {
                    Id  = item.BlogId,
                    Url = item.Url
                };
                resul.Add(b);
            }
            return(resul);
        }
コード例 #34
0
 public void DeserializeFromJson_WithNestedList_ShouldWork()
 {
     var json =
         (JsDictionary<string, object>)
         Json.Parse(
             @" { ""Name"": ""Blog Name"", ""Owner"": { ""Email"": ""*****@*****.**"", ""Id"": 2 }, ""Posts"": [{ ""Id"": 1, ""Title"": ""test 1""}, {""Id"": 2, ""Title"": ""test 2"" }] } ");
     var blog = new BlogViewModel();
     blog.SetFromJSON(json, null);
     Assert.AreEqual(blog.Name, "Blog Name");
     Assert.AreEqual(blog.Owner.Id, 2);
     Assert.AreEqual(blog.Owner.Email, "*****@*****.**");
     Assert.AreEqual(blog.Posts.Count, 2);
     Assert.AreEqual(blog.Posts[0].Id, 1);
     Assert.AreEqual(blog.Posts[0].Title, "test 1");
     Assert.AreEqual(blog.Posts[1].Id, 2);
     Assert.AreEqual(blog.Posts[1].Title, "test 2");
 }
コード例 #35
0
        private IActionResult DisplayListView(int?page, string filter, string view)
        {
            bool includeUnpublished = _authorizationService.AuthorizeAsync(User, "RequireAdminRole").Result.Succeeded;

            var blogViewModel = new BlogViewModel
            {
                Blog      = Blog,
                Filter    = filter,
                PageIndex = page ?? 0,
                Pages     = _pageRepository.GetAllPages(Blog.Id).Where(p => (string.IsNullOrEmpty(filter) || p.Title?.IndexOf(filter, StringComparison.OrdinalIgnoreCase) >= 0) && (p.IsPublished || includeUnpublished))
            };

            ViewBag.PageIndex = page ?? 0;

            // ReSharper disable once Mvc.ViewNotResolved
            return(View(view, blogViewModel));
        }
コード例 #36
0
 public void DeserializeFromJson_WithNestedList_WithExistingListContent_ShouldPreserveListIdentity()
 {
     var json =
         (JsDictionary<string, object>)
         Json.Parse(
             @" { ""Name"": ""Blog Name"", ""Owner"": { ""Email"": ""*****@*****.**"", ""Id"": 2 }, ""Posts"": [{ ""Id"": 1, ""Title"": ""test 1""}, {""Id"": 2, ""Title"": ""test 2"" }] } ");
     var blog = new BlogViewModel();
     var originalPostsList = new List<PostViewModel>();
     originalPostsList.Add(new PostViewModel {Id = 5, Title = "test 5"});
     blog.Posts = originalPostsList;
     var anotherPostsList = new List<PostViewModel>();
     blog.SetFromJSON(json, null);
     Assert.IsTrue(blog.Posts == originalPostsList,
                   "identity equality check - ensure any existing nested list's identity is preserved by FromJson, otherwise existing event bindings to be lost.");
     Assert.IsTrue(blog.Posts != anotherPostsList,
                   "identity equality check - verify that 2 instances which are known to have different identities are marked as not equal");
 }
コード例 #37
0
        public void EditBlog(int id, BlogViewModel blog)
        {
            var context = new PortfolioContext();

            var entryBlog = new Blog
            {
                BlogId           = id,
                Title            = blog.Title,
                Tags             = blog.Tags,
                DateSubmitted    = blog.DateSubmitted,
                SystemChangeDate = DateTime.Today,
                Content          = blog.Content
            };

            context.Update(entryBlog);
            context.SaveChanges();
        }
コード例 #38
0
ファイル: AdminController.cs プロジェクト: eouw0o83hf/Blog
 public ActionResult Blog(int? blogId)
 {
     BlogViewModel viewModel;
     if (blogId.HasValue)
     {
         var blog = BlogService.GetBlog(blogId.Value);
         viewModel = new BlogViewModel
         {
             BlogId = blog.BlogId,
             Description = blog.Description,
             Name = blog.Name,
             UrlName = blog.UrlName
         };
     }
     else
     {
         viewModel = new BlogViewModel();
     }
     return View(viewModel);
 }
コード例 #39
0
ファイル: BlogService.cs プロジェクト: alin-rautoiu/Cart42
        public Blog AddOrUpdate(BlogViewModel model)
        {
            Blog blog;
            if (model.Id == 0)
            {
                blog = Mapper.Map<Blog>(model);
                db.Blogs.Add(blog);
            }
            else
            {
                blog = Find(model.Id);
                Mapper.Map(model, blog);
            }

            db.SaveChanges();

            cacheService.Invalidate("blogs");

            return blog;
        }
コード例 #40
0
 public void DeserializeFromJson_WithNestedList_WithExistingListContent_ShouldReplaceListContents()
 {
     var json =
         (JsDictionary<string, object>)
         Json.Parse(
             @" { ""Name"": ""Blog Name"", ""Owner"": { ""Email"": ""*****@*****.**"", ""Id"": 2 }, ""Posts"": [{ ""Id"": 1, ""Title"": ""test 1""}, {""Id"": 2, ""Title"": ""test 2"" }] } ");
     var blog = new BlogViewModel();
     var originalPostsList = new List<PostViewModel>();
     originalPostsList.Add(new PostViewModel {Id = 5, Title = "test 5"});
     blog.Posts = originalPostsList;
     blog.SetFromJSON(json, null);
     Assert.AreEqual(blog.Name, "Blog Name");
     Assert.AreEqual(blog.Owner.Id, 2);
     Assert.AreEqual(blog.Owner.Email, "*****@*****.**");
     Assert.AreEqual(blog.Posts.Count, 2);
     Assert.AreEqual(blog.Posts[0].Id, 1);
     Assert.AreEqual(blog.Posts[0].Title, "test 1");
     Assert.AreEqual(blog.Posts[1].Id, 2);
     Assert.AreEqual(blog.Posts[1].Title, "test 2");
 }
コード例 #41
0
        public ActionResult Index()
        {
            //Typically we retrieve data from the database
            //...and inject the retrievevd data into ViewModel -> View
            //For now we will fake the data rather than use a database
            Blog otc = new Blog { BlogTitle = "Ode to Code", BlogAuthor = "Scott Allen" };
            Blog hm = new Blog
            {
                BlogTitle = "Hanselman Minutes",
                BlogAuthor = "Hanselman",
                BlogPosts = new List<Post> {
                    new Post { PostTitle = "Ef 6 Launched", PostContent="EF6 is wonderful" },
                    new Post { PostTitle= "Blah Blah" , PostContent = "Great yeah"}
             }
            };

            BlogViewModel bvm = new BlogViewModel()
            { TheBlogs = new List<Blog>() { otc, hm } };
            bvm.NumberOfBlogs = bvm.TheBlogs.Count;
            return View(bvm);//pass the viewmodel to the view to display
        }
コード例 #42
0
ファイル: BlogController.cs プロジェクト: etuannv/TNVTH
        public ActionResult AddNew(FormCollection form, string Published)
        {
            // Upload Image
            HttpPostedFileBase file = Request.Files["ImageData"];
            string AvataURL = UploadAvatar(file);
            // Insert Blog
            T_Blog AddBlog = new T_Blog();
            AddBlog.Title = form["Title"].ToString();
            AddBlog.Slug = form["Slug"].ToString();
            AddBlog.ContentBlog = form["ContentBlog"];
            AddBlog.CreatedDate = DateTime.Now;

            if(!string.IsNullOrEmpty(Published)) AddBlog.Status = Constants.NEWS_STATUS_PUBLIC;
            else AddBlog.Status = form["Status"].ToString();
            AddBlog.AvataImageUrl = AvataURL;
            AddBlog.CreatedBy = User.Identity.Name;
            AddBlog.Author = form["Author"];
            if (string.IsNullOrEmpty(form["Title"].ToString()) || string.IsNullOrEmpty(form["Slug"].ToString()))
            {
                IEnumerable<T_Tag> CatList = _tagServices.GetByTaxonomyForDisplay(Utilities.Constants.TAXONOMY_CATEGORY);

                BlogViewModel model = new BlogViewModel(AddBlog);
                model.CategoryList = CatList.ToList();
                model.MyCategoryList = new List<T_Tag>();
                // Get Slide_List again
                ModelState.AddModelError("Error", "Tiêu đề, Slug không được để trống");
                return View(model);
            }

            T_Blog MyBlog = _blogServices.AddNewBlogAndReturn(AddBlog);

            // Set Blog Category
            int SelectedCate = Convert.ToInt16(form["Category"]);
            _blog_TagServices.AddNewBlog_Tag(MyBlog.ID, SelectedCate);

            // Insert Tag and Blog_Tags
            AddListTag(form["tags"].ToString(), MyBlog.ID);

            return RedirectToAction("List", "Blog");
        }
コード例 #43
0
        public ActionResult Arkiv(string month, int year, int? page)
        {
            var pageNumber = page ?? 1;
            BlogViewModel bvm = new BlogViewModel();
            bvm.Blogcomments.Posts = _postRepo.FindAll(p => p.Type == 1).Where(p => p.Date.Year == year && p.Date.ToString("MMMM") == month).OrderByDescending(p => p.Date).ToPagedList(pageNumber, 10);
            bvm.Blogcomments.BlogComment = _commentRepo.FindAll().OrderByDescending(p => p.Date).ToPagedList(pageNumber, 5);

            var cal = from e in (_postRepo.FindAll(e => e.Type == 1))
                      group e by new { e.Date.Year, e.Date.Month }
                          into CalendarGroup
                          select new ArkivModel
                          {
                              Year = CalendarGroup.Key.Year,
                              Month = CalendarGroup.FirstOrDefault().Date.ToString("MMMM"),
                              Count = CalendarGroup.Count()
                          };

            var orderedcal = cal.OrderByDescending(e => e.Year);

            bvm.Arkivmodel = orderedcal.ToList();

            return View(bvm);
        }
コード例 #44
0
        public ActionResult Details(string id)
        {
            Blog otc = new Blog { BlogTitle = "Ode to Code", BlogAuthor = "Scott Allen" };
            Blog hm = new Blog
            {
                BlogTitle = "Hanselman Minutes",
                BlogAuthor = "Hanselman",
                BlogPosts = new List<Post> {
                    new Post { PostTitle = "Ef 6 Launched", PostContent="EF6 is wonderful" },
                    new Post { PostTitle= "Blah Blah" , PostContent = "Great yeah"}
             }
            };

            BlogViewModel bvm = new BlogViewModel()
            { TheBlogs = new List<Blog>() { otc, hm } };
            bvm.NumberOfBlogs = bvm.TheBlogs.Count;

            foreach (Blog blog in bvm.TheBlogs)
            {
                if (blog.BlogTitle == id) return View(blog);
            }
            return View(bvm);//pass the viewmodel to the view to display
        }
コード例 #45
0
ファイル: BlogController.cs プロジェクト: etuannv/TNVTH
        public ActionResult Edit(FormCollection form, string Published)
        {
            T_Blog EditBlog = _blogServices.GetByID(Convert.ToInt32(form["ID"]));
            if (User.IsInRole(Utilities.Constants.ROLE_PUBLISHER) && EditBlog.CreatedBy != User.Identity.Name)
            {
                return RedirectToAction("AccessDenied", "Start");
            }

            // Upload avata if it have
            HttpPostedFileBase file = Request.Files["ImageData"];
            string AvataURL = UploadAvatar(file);

            // Update Blog infomation
            EditBlog.Title = form["Title"].ToString();
            EditBlog.Slug = form["Slug"].ToString();
            EditBlog.ContentBlog = form["ContentBlog"];
            EditBlog.Author = form["Author"];
            EditBlog.ModifiedBy =  User.Identity.Name;
            if (!string.IsNullOrEmpty(Published)) EditBlog.Status = Constants.NEWS_STATUS_PUBLIC;
            else EditBlog.Status = form["Status"].ToString();
            if (!String.IsNullOrEmpty(AvataURL))
            {
                EditBlog.AvataImageUrl = AvataURL;
            }
            EditBlog.ModifiedDate = DateTime.Now;
            EditBlog.ModifiedBy = User.Identity.Name;
            if (string.IsNullOrEmpty(form["Title"].ToString()) || string.IsNullOrEmpty(form["Slug"].ToString()))
            {
                IEnumerable<T_Tag> MyTagList = _blog_TagServices.GetTagByBlogID(EditBlog.ID, Constants.TAXONOMY_TAG);
                IEnumerable<T_Tag> MyCategoryList = _blog_TagServices.GetTagByBlogID(EditBlog.ID, Constants.TAXONOMY_CATEGORY);
                IEnumerable<T_Tag> CatList = _tagServices.GetByTaxonomyForDisplay(Utilities.Constants.TAXONOMY_CATEGORY);

                BlogViewModel model = new BlogViewModel(EditBlog);
                model.CategoryList = CatList.ToList();
                model.MyTagList = MyTagList.ToList();
                model.MyCategoryList = MyCategoryList.ToList();
                ViewData["TagList"] = BuildTagList(MyTagList.ToList());
                // Get Slide_List again
                ModelState.AddModelError("Error", "Tiêu đề, Slug không được để trống");
                ModelState.AddModelError("Error", "Phải chọn chuyên mục");
                return View(model);
            }
            ReturnValue<bool> result = _blogServices.UpdateBlog(EditBlog);

            // Delete all tags, category of this Blog
            _blog_TagServices.DeleteAllTagByBlogID(EditBlog.ID);

            // Set Blog Category
            int SelectedCate = Convert.ToInt16(form["Category"]);
            _blog_TagServices.AddNewBlog_Tag(EditBlog.ID, SelectedCate);

            // Insert Tag and Blog_Tags
            AddListTag(form["Tags"].ToString(), EditBlog.ID);
            return RedirectToAction("List", "Blog");
        }
コード例 #46
0
ファイル: BlogController.cs プロジェクト: alin-rautoiu/Cart42
 public ActionResult Create()
 {
     var model = new BlogViewModel();
     return View(model);
 }
コード例 #47
0
 public void SetFromJSON_ShouldWork()
 {
     var c = new ViewModelCollection<BlogViewModel>(typeof(BlogViewModel));
     var json = new BlogViewModel
                    {
                        Id = 3,
                        Owner = new UserViewModel
                                    {
                                        Id = 33,
                                        FirstName = "John"
                                    }
                    }.ToJSON();
     var list = new List<JsDictionary<string, object>> {json};
     c.SetFromJSON(list);
     Assert.AreEqual(c.Count, 1);
     Assert.AreEqual(c.ElementAt(0).Id, 3);
     Assert.AreEqual(c.ElementAt(0).Owner.Id, 33);
 }
コード例 #48
0
ファイル: BlogController.cs プロジェクト: etuannv/TNVTH
        public ActionResult Edit(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            T_Blog Blog = _blogServices.GetByID((int)id);

            IEnumerable<T_Tag> MyTagList = _blog_TagServices.GetTagByBlogID(Blog.ID, Constants.TAXONOMY_TAG);
            IEnumerable<T_Tag> MyCategoryList = _blog_TagServices.GetTagByBlogID(Blog.ID, Constants.TAXONOMY_CATEGORY);
            IEnumerable<T_Tag> CatList = _tagServices.GetByTaxonomyForDisplay(Utilities.Constants.TAXONOMY_CATEGORY);

            BlogViewModel model = new BlogViewModel(Blog);
            model.CategoryList = CatList.ToList();
            model.MyTagList = MyTagList.ToList();
            model.MyCategoryList = MyCategoryList.ToList();
            ViewData["TagList"] = BuildTagList(MyTagList.ToList());
            return View("Edit", model);
        }