예제 #1
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            OpArticleSelect op     = new OpArticleSelect();
            OperationResult result = OperationManager.Singleton.ExecuteOperation(op);

            var article = result.Items.Cast <ArticleDto>().Where(a => a.Id == id).First();

            if (!IsUserAuthorizedToEdit(article))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
            }

            // Check if article exists
            if (article == null)
            {
                return(HttpNotFound());
            }

            // Create the view model
            var model = new ArticleViewModel();

            model.Id      = article.Id;
            model.Title   = article.Title;
            model.Content = article.Content;

            return(View(model));
        }
예제 #2
0
        public ActionResult Details(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            OpArticleSelect op = new OpArticleSelect();

            op.Criteria = new ArticleCriteria()
            {
                Id = id
            };
            OperationResult result = OperationManager.Singleton.ExecuteOperation(op);

            var article = result.Items.Cast <ArticleDto>().ToArray().Where(a => a.Id == id).First();

            // Check if article exists
            if (article == null)
            {
                return(HttpNotFound());
            }

            return(View(article));
        }
예제 #3
0
        public ActionResult AllArticles()
        {
            OpArticleSelect op     = new OpArticleSelect();
            OperationResult result = OperationManager.Singleton.ExecuteOperation(op);

            var articles = result.Items.Cast <ArticleDto>().Where(u => u.Author.UserName == this.User.Identity.Name).ToList();

            return(View(articles));
        }
예제 #4
0
        public ActionResult List(int?page)
        {
            OpArticleSelect op     = new OpArticleSelect();
            OperationResult result = OperationManager.Singleton.ExecuteOperation(op);

            List <ArticleDto> articles = result.Items.Cast <ArticleDto>().OrderByDescending(x => x.DatePost).ToList();

            int pageSize   = 6;
            int pageNumber = (page ?? 1);

            return(View(articles.ToPagedList(pageNumber, pageSize)));
        }
예제 #5
0
        // GET: Admin/Text/Delete/5
        public ActionResult Delete(int id)
        {
            OpArticleSelect op     = new OpArticleSelect();
            OperationResult result = OperationManager.Singleton.ExecuteOperation(op);

            var article = result.Items.Cast <ArticleDto>().Where(u => u.Id == id).FirstOrDefault();

            var model = new ArticleDto();

            model.Id        = article.Id;
            model.Title     = article.Title;
            model.Content   = article.Content;
            model.ImagePath = article.ImagePath;
            model.DatePost  = article.DatePost;

            return(View(model));
        }
예제 #6
0
        // GET: Admin/Text
        public ActionResult Index(int?page, string searchString)
        {
            OpArticleSelect op     = new OpArticleSelect();
            OperationResult result = OperationManager.Singleton.ExecuteOperation(op);

            int pageSize   = 4;
            int pageNumber = (page ?? 1);

            if (!String.IsNullOrEmpty(searchString))
            {
                var search = result.Items.Cast <ArticleDto>().Where(a => a.Content.Contains(searchString));
                return(View(search.ToPagedList(pageNumber, pageSize)));
            }

            List <ArticleDto> articles = result.Items.Cast <ArticleDto>().ToList();

            return(View(articles.ToPagedList(pageNumber, pageSize)));
        }
예제 #7
0
        public ActionResult Random()
        {
            using (var database = new BlogEntities())
            {
                // Get count articles from database
                var countArticles = database.Articles.Count();


                // Get random article from article list
                Random random    = new Random();
                int    randomNum = random.Next(1, countArticles - 2);

                OpArticleSelect op       = new OpArticleSelect();
                OperationResult result   = OperationManager.Singleton.ExecuteOperation(op);
                var             articles = result.Items.Cast <ArticleDto>().OrderBy(a => a.Id).Skip(randomNum).Take(4).ToList();

                return(View(articles));
            }
        }