Esempio n. 1
0
        public ListArticleModel ArticleSeach(string[] keyword, string[] keywordAscii, int currentRecord, int top, bool isShow = true, bool isDeleted = false)
        {
            var key = string.Format("ArticleRepositoryArticleSeach{0}{1}{2}{3}", keyword, keywordAscii, currentRecord, top);

            var list = new ListArticleModel();

            if (!this.TryGetCache<ListArticleModel>(out list, key))
            {

                var query = (from p in web365db.tblArticle
                             where (keyword.All(k => p.Title.ToLower().Contains(k)) || keyword.All(k => p.TitleAscii.Contains(k))) && p.TypeID > 1 && p.tblTypeArticle.LanguageId == LanguageId && p.IsShow == isShow && p.IsDeleted == isDeleted
                             orderby p.ID descending
                             select new ArticleItem()
                             {
                                 ID = p.ID,
                                 Title = p.Title,
                                 TitleAscii = p.TitleAscii,
                                 SEOTitle = p.SEOTitle,
                                 Summary = p.Summary,
                                 Picture = new PictureItem()
                                 {
                                     Name = p.tblPicture != null ? p.tblPicture.Name : string.Empty,
                                     FileName = p.tblPicture != null ? p.tblPicture.FileName : string.Empty
                                 },
                                 ArticleType = new ArticleTypeItem()
                                 {
                                     ID = p.tblTypeArticle != null ? p.tblTypeArticle.ID : 0,
                                     Name = p.tblTypeArticle.Name,
                                     NameAscii = p.tblTypeArticle.NameAscii,
                                     ParentAscii = p.tblTypeArticle.tblTypeArticle2.NameAscii
                                 }
                             });

                list.total = query.Count();

                list.List = query.Skip(currentRecord).Take(top).ToList();

                this.SetCache(key, list, 10);
            }

            return list;
        }
Esempio n. 2
0
        public ListArticleModel GetListByTypeAndDetail(int typeId, int skip, int top, bool isShow = true, bool isDeleted = false)
        {
            var key = string.Format("ArticleRepositoryGetListByTypeAndDetail{0}{1}{2}", typeId, skip, top);

            var list = new ListArticleModel();

            if (!this.TryGetCache<ListArticleModel>(out list, key))
            {

                var query = (from p in web365db.tblArticle
                             where p.TypeID == typeId && p.IsShow == isShow && p.IsDeleted == isDeleted
                             orderby p.Number descending, p.ID ascending
                             select new ArticleItem()
                             {
                                 ID = p.ID,
                                 TypeID = p.TypeID,
                                 Title = p.Title,
                                 TitleAscii = p.TitleAscii,
                                 SEOTitle = p.SEOTitle,
                                 Summary = p.Summary,
                                 Detail = p.Detail,
                                 Picture = new PictureItem()
                                 {
                                     ID = p.tblPicture != null ? p.tblPicture.ID : 0,
                                     Name = p.tblPicture.Name,
                                     FileName = p.tblPicture.FileName
                                 },
                                 ArticleType = new ArticleTypeItem()
                                 {
                                     ID = p.tblTypeArticle.ID,
                                     Name = p.tblTypeArticle.Name,
                                     NameAscii = p.tblTypeArticle.NameAscii,
                                     ParentAscii = p.tblTypeArticle.tblTypeArticle2.NameAscii,
                                     ParentName = p.tblTypeArticle.tblTypeArticle2.Name
                                 }
                             });

                list.total = query.Count();

                list.List = query.Skip(skip).Take(top).ToList();

                this.SetCache(key, list, 10);
            }

            return list;
        }
Esempio n. 3
0
        public ListArticleModel GetListByType(int typeID, string nameAscii, int currentRecord, int pageSize, bool isShow = true, bool isDeleted = false)
        {
            var key = string.Format("ArticleRepositoryGetListByType{0}{1}{2}{3}", typeID, nameAscii, currentRecord, isShow);

            var result = new ListArticleModel();

            if (!this.TryGetCache<ListArticleModel>(out result, key))
            {

                var paramTotal = new SqlParameter
                {
                    ParameterName = "Total",
                    SqlDbType = SqlDbType.Int,
                    Direction = ParameterDirection.Output
                };

                var query = web365db.Database.SqlQuery<ArticleMapItem>("exec [dbo].[PRC_GetListNewsByType] @TypeID, @TypeAscii, @Language, @CurrentRecord, @PageSize, @Total OUTPUT",
                    new SqlParameter("TypeID", typeID),
                    new SqlParameter("TypeAscii", nameAscii),
                    new SqlParameter("Language", LanguageId),
                    new SqlParameter("CurrentRecord", currentRecord),
                    new SqlParameter("PageSize", pageSize),
                    paramTotal);

                result.List = query.Select(p => new ArticleItem()
                {
                    ID = p.ID,
                    Title = p.Title,
                    TitleAscii = p.TitleAscii,
                    Summary = p.Summary,
                    Picture = new PictureItem()
                    {
                        FileName = p.PictureURL
                    },
                    ArticleType = new ArticleTypeItem()
                    {
                        Name = p.TypeName,
                        NameAscii = p.TypeNameAscii,
                        ParentName = p.TypeParentName,
                        ParentAscii = p.TypeParentNameAscii
                    }
                }).ToList();

                result.total = Convert.ToInt32(paramTotal.Value);

                this.SetCache(key, result, 10);
            }

            return result;
        }
Esempio n. 4
0
        public ListArticleModel GetListByGroup(int groupId, int skip, int top, bool isShow = true, bool isDeleted = false)
        {
            var key = string.Format("ArticleRepositoryGetListByStatus{0}{1}{2}{3}", groupId, skip, top, LanguageId);

            var list = new ListArticleModel();

            if (!this.TryGetCache<ListArticleModel>(out list, key))
            {

                var query = (from p in web365db.tblGroup_Article_Map
                             where p.GroupID == groupId && p.tblArticle.tblTypeArticle.LanguageId == LanguageId && p.tblArticle.IsShow == isShow && p.tblArticle.IsDeleted == isDeleted
                             orderby p.ID descending
                             select new ArticleItem()
                             {
                                 ID = p.tblArticle.ID,
                                 TypeID = p.tblArticle.TypeID,
                                 Title = p.tblArticle.Title,
                                 TitleAscii = p.tblArticle.TitleAscii,
                                 SEOTitle = p.tblArticle.SEOTitle,
                                 Summary = p.tblArticle.Summary,
                                 Picture = new PictureItem()
                                 {
                                     ID = p.tblArticle.tblPicture.ID,
                                     Name = p.tblArticle.tblPicture.Name,
                                     FileName = p.tblArticle.tblPicture.FileName
                                 },
                                 ArticleType = new ArticleTypeItem()
                                 {
                                     ID = p.tblArticle.tblTypeArticle.ID,
                                     Name = p.tblArticle.tblTypeArticle.Name,
                                     NameAscii = p.tblArticle.tblTypeArticle.NameAscii,
                                     ParentName = p.tblArticle.tblTypeArticle.tblTypeArticle2.Name,
                                     ParentAscii = p.tblArticle.tblTypeArticle.tblTypeArticle2.NameAscii,
                                 }
                             });

                list.total = query.Count();

                list.List = query.Skip(skip).Take(top).ToList();

                this.SetCache(key, list, 10);
            }

            return list;
        }
Esempio n. 5
0
        public ListArticleModel GetListByArrType(int[] arrType, int currentRecord, int pageSize, bool isShow = true, bool isDeleted = false)
        {
            var key = string.Format("ArticleRepositoryGetListByArrType{0}{1}", arrType, isShow);

            var result = new ListArticleModel();

            if (!this.TryGetCache<ListArticleModel>(out result, key))
            {

                var query = from p in web365db.tblArticle
                            where arrType.Contains(p.TypeID.Value) && p.IsShow == isShow && p.IsDeleted == isDeleted
                            orderby p.Number descending, p.ID descending
                            select new ArticleItem()
                            {
                                ID = p.ID,
                                TypeID = p.TypeID,
                                Title = p.Title,
                                TitleAscii = p.TitleAscii,
                                SEOTitle = p.SEOTitle,
                                Summary = p.Summary,
                                Picture = new PictureItem()
                                {
                                    ID = p.tblPicture.ID,
                                    Name = p.tblPicture.Name,
                                    FileName = p.tblPicture.FileName
                                },
                                ArticleType = new ArticleTypeItem()
                                {
                                    ID = p.tblTypeArticle.ID,
                                    Name = p.tblTypeArticle.Name,
                                    NameAscii = p.tblTypeArticle.NameAscii,
                                    SEOTitle = p.tblTypeArticle.SEOTitle,
                                    SEODescription = p.tblTypeArticle.SEODescription,
                                    SEOKeyword = p.tblTypeArticle.SEOKeyword
                                }
                            };

                result.total = query.Count();

                result.List = query.Skip(currentRecord).Take(pageSize).ToList();

                this.SetCache(key, result, 10);
            }

            return result;
        }