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); }
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); }
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); }
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"); }
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; }
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")); }
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())); }
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")); }
// 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)); }
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(); }
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)); }
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)); }
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)); }
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); }
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)); }
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)); } }
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)); }
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)); }
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")); }
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")); }
public BlogPage(RootPage root) { try { InitializeComponent(); _model = new BlogViewModel() { Root = root }; Init(); } catch (Exception ex) { new ExceptionHandler(nameof(BlogPage), ClientService.GetExceptionDetail(ex)); } }
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; }
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(); }
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)); } }
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)); }
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)); }
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")); }
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)); }
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); }
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"); }
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)); }
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"); }
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(); }
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); }
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; }
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"); }
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 }
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"); }
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); }
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 }
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"); }
public ActionResult Create() { var model = new BlogViewModel(); return View(model); }
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); }
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); }