Пример #1
0
        public virtual async Task <ActionResult> List(int id, int?page)
        {
            var       pageIndex = page ?? 1 - 1;
            const int pageSize  = 10;

            var postList = await _postService.GetPagedList(id, pageIndex, pageSize);

            ViewBag.OnePageOfList = new StaticPagedList <PagedListPostViewModel>(postList.List, pageIndex + 1, pageSize, postList.TotalCount);

            ViewBag.CategoryName = await _postCategoryService.GetCategoryName(id);

            return(View());
        }
Пример #2
0
        public virtual async Task <ActionResult> Add(AddPostViewModel postModel)
        {
            if (!ModelState.IsValid)
            {
                ViewData["CategoriesSelectList"] = new SelectList(await _postCategoryService.GetAll(), "Id", "Name");

                return(View(postModel));
            }

            var post = new DomainClasses.Post
            {
                PostedByUserId = User.Identity.GetUserId <int>()
            };

            _mappingEngine.Map(postModel, post);

            if (postModel.Id.HasValue)
            {
                _postService.Edit(post);
                TempData["message"] = "پست مورد نظر با موفقیت ویرایش شد";
            }
            else
            {
                _postService.Add(post);
                TempData["message"] = "پست جدید با موفقیت در سیستم ثبت شد";
            }

            await _unitOfWork.SaveAllChangesAsync();


            if (postModel.Id.HasValue)
            {
                LuceneIndex.ClearLucenePostIndexRecord(postModel.Id.Value);
            }

            LuceneIndex.AddUpdateLuceneIndex(new LuceneSearchModel
            {
                PostId      = post.Id,
                Title       = post.Title,
                Image       = post.Image,
                Description = post.Body.RemoveHtmlTags(),
                Category    = await _postCategoryService.GetCategoryName(postModel.CategoryId.Value),
                SlugUrl     = post.SlugUrl
            });


            return(RedirectToAction(MVC.Post.Admin.ActionNames.Index));
        }