public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { var viewModel = new ArticleDetailViewModel(); var articleWidget = widget as ArticleSpecialDetailWidget; ArticleEntity article = null; int articleId = articleWidget.ArticleId ?? 0; if (articleId > 0) { article = _articleService.Get(articleId); } else if (articleWidget.ArticleName.IsNotNullAndWhiteSpace()) { article = _articleService.GetByUrl(articleWidget.ArticleName); } if (article == null) { actionContext.NotFoundResult(); } else { _articleService.IncreaseCount(article); var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { layout.Page.MetaKeyWorlds = article.MetaKeyWords; layout.Page.MetaDescription = article.MetaDescription; layout.Page.Title = article.Title; } } viewModel.Current = article; return(widget.ToWidgetViewModelPart(viewModel)); }
public ActionResult Detail(int id) { ArticleDetailViewModel articleDetailVM = new ArticleDetailViewModel(); Article article = bService.GetDetailArticle(id); if (article == default(Article)) { return(Redirect("~/Error404.html")); } bService.IncludeUserForComments(article.Comments.ToList()); bService.IncludeReplyForComments(article.Comments.ToList()); articleDetailVM = Mapper.Map <Article, ArticleDetailViewModel>(article); foreach (CommentViewModel m in articleDetailVM.Comments) { m.Liked = m.Votes.Where(v => v.UserId == User.Identity.GetUserId <int>()).Count() > 0; } articleDetailVM.Bookmarked = article.BookmarkUsers .Where(u => u.Id == User.Identity.GetUserId <int>()).Count() > 0; articleDetailVM.Liked = article.Votes.Where(v => v.UserId == User.Identity.GetUserId <int>()).Count() > 0; bService.IncreaseViewArticle(article); ViewBag.System = Constant.String.BlogSystem; var cookie = new HttpCookie("returnUrl", Request.Url.AbsolutePath + Request.Url.Query); cookie.Expires = DateTime.Now.AddMinutes(5); Response.Cookies.Add(cookie); return(View("Views/BlogDetailView", articleDetailVM)); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { var viewModel = new ArticleDetailViewModel(); var articleWidget = widgetDisplayContext.Widget as ArticleSpecialDetailWidget; ArticleEntity article = null; int articleId = articleWidget.ArticleId ?? 0; if (articleId > 0) { article = _articleService.Get(articleId); } else if (articleWidget.ArticleName.IsNotNullAndWhiteSpace()) { article = _articleService.GetByUrl(articleWidget.ArticleName); } if (article == null) { widgetDisplayContext.ActionContext.NotFoundResult(); } else { _articleService.IncreaseCount(article); var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { layout.Page.ConfigSEO(article.Title, article.MetaKeyWords, article.MetaDescription); } } viewModel.Current = article; return(viewModel); }
public override WidgetPart Display(WidgetBase widget, HttpContextBase httpContext) { long articleId = 0; long.TryParse(httpContext.Request.QueryString["id"], out articleId); var articleService = new ArticleService(); var viewModel = new ArticleDetailViewModel { Current = articleService.Get(articleId) }; if (viewModel.Current != null) { var layout = httpContext.GetLayout(); layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; return(widget.ToWidgetPart(viewModel)); } else { return(widget.ToWidgetPart(null)); } }
public override WidgetPart Display(WidgetBase widget, HttpContextBase httpContext) { long articleId = 0; long.TryParse(httpContext.Request.QueryString["id"], out articleId); var viewModel = new ArticleDetailViewModel { Current = ServiceLocator.Current.GetInstance <IArticleService>().Get(articleId) }; if (viewModel.Current != null) { var layout = httpContext.GetLayout(); layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; } else { viewModel.Current = new ArticleEntity { Title = "文章明细组件", ImageUrl = "~/Modules/Article/Content/Image/Example.png", ArticleContent = "<p>如上图所示,该组件需要一个<code>文章列表组件</code>组合使用,您需要在其它页面添加一个文章列表组件并链接过来,然后点击文章列表中的文章,该组件就可正常显示文章的内容</p>", CreatebyName = "ZKEASOFT" }; } return(widget.ToWidgetPart(viewModel)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int articleId = actionContext.RouteData.GetPost(); var viewModel = new ArticleDetailViewModel { Current = _articleService.Get(articleId) }; if (viewModel.Current == null) { viewModel.Current = new ArticleEntity { Title = "文章明细组件使用说明", ImageUrl = "~/Plugins/ZKEACMS.Article/Content/Image/Example.png", ArticleContent = "<p>如上图所示,该组件需要一个<code>文章列表组件</code>组合使用,您需要在其它页面添加一个文章列表组件并链接过来,然后点击文章列表中的文章,该组件就可正常显示文章的内容</p>", CreatebyName = "ZKEASOFT" }; } var layout = actionContext.HttpContext.GetLayout(); layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; return(widget.ToWidgetViewModelPart(viewModel)); }
public ActionResult AddArticle(ArticleDetailViewModel model) { if (ModelState.IsValid) { //veritabanında veri olmadığı için bir şey getirilmiyor bu yüzden direkt bu şekilde yazılır model.Article.ArticleCreatedUserId = ((User)Session["CurrentUser"]).Id; model.Article.ArticleCreatedDate = DateTime.Now; model.Article.ArticleModifiedDate = DateTime.Now; model.Article.ArticleModifiedUserId = ((User)Session["CurrentUser"]).Id; model.Article.User = ((User)Session["CurrentUser"]); new ArticleManager().Add(model.Article); } else { ErrorViewModal errorViewModel = new ErrorViewModal() { Title = "Model Yanlış!", RedirectingUrl = "/Article/AddArticle" }; return(View("Error", errorViewModel)); } return(RedirectToAction("ListArticle", "Article")); }
public async Task <IActionResult> Create(ArticleDetailViewModel model) { if (!ModelState.IsValid) { return(RedirectToAction("Create") .WithWarning("Info", "Invalid data, cannot be saved.")); } await Mediator.Send(new CreateArticleCommand { Title = model.Title, Description = model.Description, Tags = model.Tags, CategoryId = model.CategoryId, ProjectId = model.ProjectId, Content = model.Content, Seo = model.Seo, FileHeader = model.FileHeader, Files = model.Files, RemoteFileHeader = model.RemoteFileHeader, RemoteFileThumbnail = model.RemoteFileThumbnail, RemoteFiles = model.RemoteFiles, }); return(RedirectToAction("Index") .WithSuccess("Article", "Created successfully")); }
public ArticleDetailPage() { InitializeComponent(); // Setup viewmodel for bindings _viewmodel = new ArticleDetailViewModel(); DataContext = _viewmodel; }
public ActionResult EditArticle(int id) { var model = new ArticleDetailViewModel(); model.Article = _articleManager.Get(x => x.Id == id); ViewBag.Categories = _categoryManager.GetAll(); return(View(model)); }
public async Task <IActionResult> Create() { int projectId = HttpContext.Request.Cookies.GetProjectId().Value; var model = new ArticleDetailViewModel() { ProjectId = projectId, Categories = await Mediator.Send(new GetCategoriesListQuery { ProjectId = projectId }) }; return(View(model)); }
// GET: ArticleDetail public ActionResult Index(string id) { var viewModel = new ArticleDetailViewModel() { Article = _context.Articles.Get(id) ?? new Article() }; System.Diagnostics.Debug.WriteLine("" + _context.Articles.Get(id)); return(View(viewModel)); }
public ActionResult ArticleDetail(int id) { var model = new ArticleDetailViewModel(); var article = _articleManager.Get(x => x.Id == id); Displayed disp = new Displayed(); disp.ArticleId = article.Id; disp.ArticleDisplayedDate = DateTime.Now; _displayedManager.Add(disp); model.Article = article; return(View(model)); }
public override WidgetPart Display(WidgetBase widget, HttpContextBase httpContext) { long articleId = 0; long.TryParse(httpContext.Request.QueryString["id"], out articleId); var articleService = new ArticleService(); var viewModel = new ArticleDetailViewModel { Current = articleService.Get(articleId) }; return(widget.ToWidgetPart(viewModel)); }
public ActionResult AddArticle(int id = 0) { var model = new ArticleDetailViewModel(); CategoryManager categoryManager = new CategoryManager(); var categories = categoryManager.GetAll(); ViewBag.Categories = categories; if (id != 0) { var article = _articleManager.Get(a => a.Id == id); model.Article = article; } return(View(model)); }
public ActionResult EditArticle(ArticleDetailViewModel model) { if (ModelState.IsValid) { var article = _articleManager.Get(x => x.Id == model.Article.Id); article.ArticleContent = model.Article.ArticleContent; article.ArticleModifiedDate = DateTime.Now; article.ArticleTitle = model.Article.ArticleTitle; article.CategoryId = model.Article.CategoryId; article.ImageURL = model.Article.ImageURL; article.IsDraft = model.Article.IsDraft; article.ArticleModifiedUserId = ((User)Session["CurrentUser"]).Id; _articleManager.Update(article); } return(RedirectToAction("ListArticle", "Article")); }
public override object Display(WidgetDisplayContext widgetDisplayContext) { var actionContext = widgetDisplayContext.ActionContext; int articleId = actionContext.RouteData.GetPost(); var viewModel = new ArticleDetailViewModel(); if (articleId != 0) { viewModel.Current = actionContext.RouteData.GetArticle(articleId) ?? _articleService.Get(articleId); if (viewModel.Current != null) { _articleService.IncreaseCount(viewModel.Current); viewModel.Prev = _articleService.GetPrev(viewModel.Current); viewModel.Next = _articleService.GetNext(viewModel.Current); if (viewModel.Current.Url.IsNotNullAndWhiteSpace() && actionContext.RouteData.GetArticleUrl().IsNullOrWhiteSpace()) { actionContext.RedirectTo($"{actionContext.RouteData.GetPath()}/{viewModel.Current.Url}.html", true); } } } if (viewModel.Current == null && ApplicationContext.IsAuthenticated) { foreach (var item in _articleService.Get().AsQueryable().OrderByDescending(m => m.ID).Take(1)) { viewModel.Current = item; } } if (viewModel.Current == null) { actionContext.NotFoundResult(); } else { var layout = widgetDisplayContext.PageLayout; if (layout != null && layout.Page != null) { layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; } } return(viewModel); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int articleId = actionContext.RouteData.GetPost(); var viewModel = new ArticleDetailViewModel(); if (articleId != 0) { viewModel.Current = _articleService.Get(articleId); if (viewModel.Current != null) { viewModel.Current.Counter = (viewModel.Current.Counter ?? 0) + 1; _articleService.Update(viewModel.Current); viewModel.Prev = _articleService.GetPrev(viewModel.Current); viewModel.Next = _articleService.GetNext(viewModel.Current); } } if (viewModel.Current == null) { foreach (var item in _articleService.Get().AsQueryable().OrderByDescending(m => m.ID).Take(1)) { viewModel.Current = item; } } if (viewModel.Current == null) { viewModel.Current = new ArticleEntity { Title = "文章明细组件使用说明", ImageUrl = "~/Plugins/ZKEACMS.Article/Content/Image/Example.png", ArticleContent = "<p>如上图所示,该组件需要一个<code>文章列表组件</code>组合使用,您需要在其它页面添加一个文章列表组件并链接过来,然后点击文章列表中的文章,该组件就可正常显示文章的内容</p>", CreatebyName = "ZKEASOFT" }; } var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; } return(widget.ToWidgetViewModelPart(viewModel)); }
public override WidgetViewModelPart Display(WidgetBase widget, ActionContext actionContext) { int articleId = actionContext.RouteData.GetPost(); var viewModel = new ArticleDetailViewModel(); if (articleId != 0) { viewModel.Current = _articleService.Get(articleId); if (viewModel.Current != null) { viewModel.Current.Counter = (viewModel.Current.Counter ?? 0) + 1; _articleService.Update(viewModel.Current); viewModel.Prev = _articleService.GetPrev(viewModel.Current); viewModel.Next = _articleService.GetNext(viewModel.Current); } } if (viewModel.Current == null && ApplicationContext.IsAuthenticated) { foreach (var item in _articleService.Get().AsQueryable().OrderByDescending(m => m.ID).Take(1)) { viewModel.Current = item; } } if (viewModel.Current == null) { actionContext.NotFoundResult(); } else { var layout = actionContext.HttpContext.GetLayout(); if (layout != null && layout.Page != null) { layout.Page.MetaKeyWorlds = viewModel.Current.MetaKeyWords; layout.Page.MetaDescription = viewModel.Current.MetaDescription; layout.Page.Title = viewModel.Current.Title; } } return(widget.ToWidgetViewModelPart(viewModel)); }
public ArticleDetailPage() { InitializeComponent(); BindingContext = viewModel = Container.Instance.ServiceProvider.GetRequiredService <ArticleDetailViewModel>(); }
private void OpenDialog(DialogEnum dialogEnum) { ViewModelBase viewModelBase = null; var dialogKey = string.Empty; switch (dialogEnum) { case DialogEnum.TabellaFilettatura: { var tabellaFilettatura = PathFolderHelper.GetTabellaFilettatura(); /* * todo prendere measure unit da preferenze */ viewModelBase = new TabellaFilettaturaViewModel(tabellaFilettatura, Singleton.Instance.MeasureUnit); dialogKey = Constants.TabellaFilettaturaModalDialog; } break; case DialogEnum.MacchineDialogo: { viewModelBase = new MacchineDialogViewModel(_machines); dialogKey = Constants.MacchineModalDialog; } break; case DialogEnum.MaterialiDialogo: { //var magazzinoUtensile = PathFolderHelper.GetMagazzinoUtensile(); viewModelBase = new MaterialiDialogoViewModel(); dialogKey = Constants.MaterialiModalDialog; } break; case DialogEnum.UtensiliDialogo: { //var magazzinoUtensile = PathFolderHelper.GetMagazzinoUtensile(); viewModelBase = new UtensiliDialogoViewModel(Singleton.Instance.MeasureUnit); dialogKey = Constants.UtensiliModalDialog; } break; case DialogEnum.DettagliArticolo: { viewModelBase = new ArticleDetailViewModel(); dialogKey = Constants.ArticleDetailDialog; } break; case DialogEnum.ProgramPreference: { var preference = PathFolderHelper.GetPreferenceData(); if (preference == null) { // Creo nuovo e apro finestra dialogo preferenze preference = new ProgramPreference(); PathFolderHelper.SavePreferenceFile(preference); } viewModelBase = new ProgramPreferenceViewModel(preference); dialogKey = Constants.PreferenceModalDialog; } break; case DialogEnum.UnitSelection: { var preference = PathFolderHelper.GetPreferenceData(); if (preference == null) { // Creo nuovo e apro finestra dialogo preferenze preference = new ProgramPreference(); PathFolderHelper.SavePreferenceFile(preference); } viewModelBase = new ProgramPreferenceViewModel(preference); dialogKey = Constants.UnitSelectionDialog; } break; default: throw new NotImplementedException("MainViewModel.OpenDialog"); } var dialog = SimpleServiceLocator.Instance.Get <IModalWindow>(dialogKey); _modalDialogService.ShowDialog(dialog, viewModelBase, returnedViewModelInstance => { if (dialog.DialogResult.HasValue && dialog.DialogResult.Value) { if (viewModelBase is IDialog) { var d = viewModelBase as IDialog; d.Save(this); } } }); }
public ArticleDetail(Article article) { InitializeComponent(); BindingContext = new ArticleDetailViewModel(article, Navigation); }
public ArticleDetailPage(ArticleDetailViewModel viewModel) { InitializeComponent(); BindingContext = this.viewModel = viewModel; }