Example #1
0
        public virtual ActionResult Add(AddPageModel pageModel)
        {
            var newPage = new Page
            {
                Body          = pageModel.Body.ToSafeHtml(),
                CommentStatus = pageModel.CommentStatus,
                CreatedDate   = DateAndTime.GetDateTime(),
                Keyword       = pageModel.Keyword,
                Order         = pageModel.Order,
                Parent        = _pageService.Find(pageModel.ParentId.Value),
                Status        = pageModel.Status,
                Title         = pageModel.Title,
                SubTitle      = pageModel.SubTitle,
                IconClass     = pageModel.IconClass,
                FeatureImage  = pageModel.FeatureImage,
                ExternalLink  = pageModel.ExternalLink,
                User          = _userService.Find(User.Identity.Name),
                Description   = pageModel.Description
            };

            _pageService.Add(newPage);
            _uow.SaveChanges();

            #region Indexing new Post by Lucene.NET

            //Index the new Post lucene.NET
            new LucenePageSearch(_pageService);
            Page currentPage = _pageService.Find(newPage.Id);
            LucenePageSearch.AddUpdateLuceneIndex(new LucenePageModel
            {
                SubTitle    = currentPage.SubTitle,
                Body        = HtmlUtility.RemoveHtmlTags(currentPage.Body),
                Description = currentPage.Description,
                Keywords    = currentPage.Keyword,
                PageId      = currentPage.Id,
                Title       = currentPage.Title
            });

            #endregion
            return(PartialView(MVC.Admin.Shared.Views._Alert, new Alert
            {
                Message = "صفحه جدید با موفقیت در سیستم ثبت شد",
                Mode = AlertMode.Success
            }));
        }
Example #2
0
        public virtual ActionResult Edit(EditPageModel pageModel)
        {
            var selectedPage = new Page
            {
                Body          = pageModel.Body.ToSafeHtml(),
                CommentStatus = pageModel.CommentStatus,
                Description   = pageModel.Description,
                EditedByUser  = _userService.Find(User.Identity.Name),
                Keyword       = pageModel.Keyword,
                ModifiedDate  = DateAndTime.GetDateTime(),
                Id            = pageModel.Id,
                Order         = pageModel.Order,
                Parent        = _pageService.Find(pageModel.ParentId.Value),
                Status        = pageModel.Status,
                Title         = pageModel.Title,
                SubTitle      = pageModel.SubTitle,
                IconClass     = pageModel.IconClass,
                FeatureImage  = pageModel.FeatureImage,
                ExternalLink  = pageModel.ExternalLink,
            };

            _pageService.Update(selectedPage);
            _uow.SaveChanges();
            #region Indexing updated book by Lucene.NET

            //Index updated book lucene.NET
            new LucenePageSearch(_pageService);
            LucenePageSearch.ClearLuceneIndexRecord(pageModel.Id);
            Page currentPage = _pageService.Find(pageModel.Id);
            LucenePageSearch.AddUpdateLuceneIndex(new LucenePageModel
            {
                SubTitle    = currentPage.SubTitle,
                Body        = HtmlUtility.RemoveHtmlTags(currentPage.Body),
                Description = currentPage.Description,
                Keywords    = currentPage.Keyword,
                PageId      = currentPage.Id,
                Title       = currentPage.Title
            });

            #endregion
            return(PartialView(MVC.Admin.Shared.Views._Alert,
                               new Alert {
                Message = "صفحه مورد نظر با موفقیت ویرایش شد", Mode = AlertMode.Success
            }));
        }
Example #3
0
        public void Reindexing()
        {
            var model = _pageService.GetAll();

            foreach (var currentPage in model)
            {
                LucenePageSearch.ClearLuceneIndexRecord(currentPage.Id);
                LucenePageSearch.AddUpdateLuceneIndex(new LucenePageModel
                {
                    SubTitle    = currentPage.SubTitle,
                    Body        = HtmlUtility.RemoveHtmlTags(currentPage.Body),
                    Description = currentPage.Description,
                    Keywords    = currentPage.Keyword,
                    PageId      = currentPage.Id,
                    Title       = currentPage.Title
                });
            }
        }
Example #4
0
        public void Reindexing()
        {
            var model = _postService.GetAllPosts();

            foreach (var currentPost in model)
            {
                LucenePostSearch.ClearLuceneIndexRecord(currentPost.Id);
                LucenePostSearch.AddUpdateLuceneIndex(new LucenePostModel
                {
                    Labels      = string.Join(" , ", currentPost.Labels.Select(l => l.Name).ToArray()),
                    Body        = HtmlUtility.RemoveHtmlTags(currentPost.Body),
                    Description = currentPost.Description,
                    Keywords    = currentPost.Keyword,
                    PostId      = currentPost.Id,
                    Picture     = currentPost.Picture,
                    Title       = currentPost.Title
                });
            }
        }
Example #5
0
        public virtual ActionResult EditPost(EditPostModel postModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(MVC.Admin.Shared.Views._ValidationSummery));
            }

            postModel.ModifiedDate = DateAndTime.GetDateTime();
            postModel.EditedByUser = _userService.GetUserByUserName(User.Identity.Name);
            postModel.Labels       = _labelService.GetLabelsById(postModel.LabelsId);

            // _downloadLinkService.RemoveByPostId(postModel.PostId);

            _uow.SaveChanges();

            //if (!string.IsNullOrEmpty(postModel.Links.DownloadLink1.Link))
            //{
            //    postModel.DownloadLinks.Add(postModel.Links.DownloadLink1);
            //}
            //if (!string.IsNullOrEmpty(postModel.Links.DownloadLink2.Link))
            //{
            //    postModel.DownloadLinks.Add(postModel.Links.DownloadLink2);
            //}
            //if (!string.IsNullOrEmpty(postModel.Links.DownloadLink3.Link))
            //{
            //    postModel.DownloadLinks.Add(postModel.Links.DownloadLink3);
            //}
            //if (!string.IsNullOrEmpty(postModel.Links.DownloadLink4.Link))
            //{
            //    postModel.DownloadLinks.Add(postModel.Links.DownloadLink4);
            //}

            //postModel.Book.Description = postModel.Book.Description.ToSafeHtml();
            postModel.PostBody = postModel.PostBody.ToSafeHtml();

            UpdatePostStatus status = _postService.UpdatePost(postModel);

            if (status == UpdatePostStatus.Successfull)
            {
                _uow.SaveChanges();

                #region Indexing updated Post by Lucene.NET
                new LucenePostSearch(_postService);
                //Index updated book lucene.NET
                LucenePostSearch.ClearLuceneIndexRecord(postModel.PostId);
                Post currentPost = _postService.Find(postModel.PostId);
                LucenePostSearch.AddUpdateLuceneIndex(new LucenePostModel
                {
                    Labels      = string.Join(" , ", currentPost.Labels.Select(l => l.Name).ToArray()),
                    Body        = HtmlUtility.RemoveHtmlTags(currentPost.Body),
                    Description = currentPost.Description,
                    Keywords    = currentPost.Keyword,
                    PostId      = currentPost.Id,
                    Title       = currentPost.Title
                });

                #endregion

                return(PartialView(MVC.Admin.Shared.Views._Alert,
                                   new Alert {
                    Message = "اطلاعات با موفقیت به روز رسانی شد", Mode = AlertMode.Success
                }));
            }

            return(PartialView(MVC.Admin.Shared.Views._Alert, new Alert
            {
                Message = "خطا در به روز رسانی اطلاعات",
                Mode = AlertMode.Error
            }));
        }
Example #6
0
        public virtual ActionResult AddPost(AddPostModel postModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(MVC.Admin.Shared.Views._ValidationSummery));
            }

            postModel.PostBody = postModel.PostBody.ToSafeHtml();
            //postModel.Book.Description = postModel.Book.Description.ToSafeHtml();

            var post = new Post
            {
                Body          = postModel.PostBody,
                CommentStatus = postModel.PostCommentStatus,
                CreatedDate   = DateAndTime.GetDateTime(),
                Description   = postModel.PostDescription,
                Keyword       = postModel.PostKeyword,
                Picture       = postModel.PostPicture,
                Status        = postModel.PostStatus.ToString().ToLower(),
                Title         = postModel.PostTitle,
            };

            #region Comment
            //var book = new Book
            //{
            //    Author = postModel.Book.Author,
            //    Description = postModel.Book.Description,
            //    ISBN = postModel.Book.ISBN,
            //    Language = postModel.Book.Language,
            //    Name = postModel.Book.Name,
            //    Year = postModel.Book.Year,
            //    Publisher = postModel.Book.Publisher,
            //    Page = postModel.Book.Page
            //};

            //var bookImage = new BookImage
            //{
            //    Path = postModel.BookImage.Path,
            //    Title = postModel.BookImage.Title,
            //    Description = postModel.BookImage.Description,
            //    UploadedDate = DateAndTime.GetDateTime()
            //};

            //var links = new List<DownloadLink>();

            //if (!string.IsNullOrEmpty(postModel.DownloadLinks.DownloadLink1.Link))
            //{
            //    links.Add(postModel.DownloadLinks.DownloadLink1);
            //}
            //if (!string.IsNullOrEmpty(postModel.DownloadLinks.DownloadLink2.Link))
            //{
            //    links.Add(postModel.DownloadLinks.DownloadLink2);
            //}
            //if (!string.IsNullOrEmpty(postModel.DownloadLinks.DownloadLink3.Link))
            //{
            //    links.Add(postModel.DownloadLinks.DownloadLink3);
            //}
            //if (!string.IsNullOrEmpty(postModel.DownloadLinks.DownloadLink4.Link))
            //{
            //    links.Add(postModel.DownloadLinks.DownloadLink4);
            //}

            //post.Book = book;
            //post.DownloadLinks = links;
            //post.Book.Image = bookImage;
            #endregion
            post.User   = _userService.GetUserByUserName(User.Identity.Name);
            post.Labels = _labelService.GetLabelsById(postModel.LabelId);

            _postService.AddPost(post);
            _uow.SaveChanges();

            #region Indexing new Post by Lucene.NET

            //Index the new Post lucene.NET
            new LucenePostSearch(_postService);
            Post lastPost = _postService.Find(post.Id);
            LucenePostSearch.AddUpdateLuceneIndex(new LucenePostModel
            {
                Labels      = string.Join(" , ", lastPost.Labels.Select(l => l.Name).ToArray()),
                Body        = HtmlUtility.RemoveHtmlTags(lastPost.Body),
                Description = lastPost.Description,
                Keywords    = lastPost.Keyword,
                PostId      = lastPost.Id,
                Title       = lastPost.Title
            });

            #endregion

            return(PartialView(MVC.Admin.Shared.Views._Alert,
                               new Alert {
                Message = "دانشنامه جدید با موقیت در سیستم ثبت شد", Mode = AlertMode.Success
            }));
        }
Example #7
0
        public virtual ActionResult AddPost(AddPostModel postModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(MVC.Admin.Shared.Views._ValidationSummery));
            }

            postModel.PostBody         = postModel.PostBody.ToSafeHtml();
            postModel.Book.Description = postModel.Book.Description.ToSafeHtml();

            var post = new Post
            {
                Body          = postModel.PostBody,
                CommentStatus = postModel.PostCommentStatus,
                CreatedDate   = DateAndTime.GetDateTime(),
                Description   = postModel.PostDescription,
                Keyword       = postModel.PostKeyword,
                Status        = postModel.PostStatus.ToString().ToLower(),
                Title         = postModel.PostTitle
            };

            var book = new Book
            {
                Author      = postModel.Book.Author,
                Description = postModel.Book.Description,
                ISBN        = postModel.Book.ISBN,
                Language    = postModel.Book.Language,
                Name        = postModel.Book.Name,
                Year        = postModel.Book.Year,
                Publisher   = postModel.Book.Publisher,
                Page        = postModel.Book.Page
            };

            var bookImage = new BookImage
            {
                Path         = postModel.BookImage.Path,
                Title        = postModel.BookImage.Title,
                Description  = postModel.BookImage.Description,
                UploadedDate = DateAndTime.GetDateTime()
            };

            var links = new List <DownloadLink>();

            if (!string.IsNullOrEmpty(postModel.DownloadLinks.DownloadLink1.Link))
            {
                links.Add(postModel.DownloadLinks.DownloadLink1);
            }
            if (!string.IsNullOrEmpty(postModel.DownloadLinks.DownloadLink2.Link))
            {
                links.Add(postModel.DownloadLinks.DownloadLink2);
            }
            if (!string.IsNullOrEmpty(postModel.DownloadLinks.DownloadLink3.Link))
            {
                links.Add(postModel.DownloadLinks.DownloadLink3);
            }
            if (!string.IsNullOrEmpty(postModel.DownloadLinks.DownloadLink4.Link))
            {
                links.Add(postModel.DownloadLinks.DownloadLink4);
            }

            post.Book          = book;
            post.DownloadLinks = links;
            post.Book.Image    = bookImage;
            post.User          = _userService.GetUserByUserName(User.Identity.Name);
            post.Labels        = _labelService.GetLabelsById(postModel.LabelId);

            _postService.AddPost(post);
            _uow.SaveChanges();

            #region Indexing new book by Lucene.NET

            //Index the new book lucene.NET
            Post lastPost = _postService.Find(post.Id);
            LuceneBookSearch.AddUpdateLuceneIndex(new LuceneBookModel
            {
                Author      = lastPost.Book.Author,
                Description = HtmlUtility.RemoveHtmlTags(lastPost.Book.Description),
                ISBN        = lastPost.Book.ISBN,
                Name        = lastPost.Book.Name,
                PostId      = lastPost.Id,
                Publisher   = lastPost.Book.Publisher,
                Title       = lastPost.Title
            });

            #endregion

            return(PartialView(MVC.Admin.Shared.Views._Alert,
                               new Alert {
                Message = "پست جدید با موقیت در سیستم ثبت شد", Mode = AlertMode.Success
            }));
        }