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));
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        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));
            }
        }
Beispiel #5
0
        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));
        }
Beispiel #7
0
        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"));
        }
Beispiel #8
0
        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"));
        }
Beispiel #9
0
        public ArticleDetailPage()
        {
            InitializeComponent();

            // Setup viewmodel for bindings
            _viewmodel  = new ArticleDetailViewModel();
            DataContext = _viewmodel;
        }
Beispiel #10
0
        public ActionResult EditArticle(int id)
        {
            var model = new ArticleDetailViewModel();

            model.Article      = _articleManager.Get(x => x.Id == id);
            ViewBag.Categories = _categoryManager.GetAll();
            return(View(model));
        }
Beispiel #11
0
        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));
        }
Beispiel #12
0
        // 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));
        }
Beispiel #13
0
        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));
        }
Beispiel #15
0
        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));
        }
Beispiel #16
0
 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>();
        }
Beispiel #21
0
        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);
        }
Beispiel #23
0
        public ArticleDetailPage(ArticleDetailViewModel viewModel)
        {
            InitializeComponent();

            BindingContext = this.viewModel = viewModel;
        }