Esempio n. 1
0
        public ModelPagedList <ModelQualifications> Query([FromBody] QueryQualifications param)
        {
            int page     = 1;
            int pageSize = 5;

            var query = DB.Qualifications.AsNoTracking().AsQueryable();

            if (param != null)
            {
                page     = param.PageIndex;
                pageSize = param.PageSize;

                if (!string.IsNullOrWhiteSpace(param.Name))
                {
                    query = query.Where(x => x.name.Contains(param.Name));
                }

                if (!string.IsNullOrWhiteSpace(param.Qualification))
                {
                    query = query.Where(x => x.auth.Contains(param.Qualification));
                }

                if (!string.IsNullOrWhiteSpace(param.Location))
                {
                    query = query.Where(x => x.location.Contains(param.Location));
                }

                //if (param.Periods.HasValue)
                //    query = query.Where(x=>x.)
            }

            query = query.OrderBy(x => x.date);

            var result = query.ToPagedList(page, pageSize);

            var model = new ModelPagedList <ModelQualifications>()
            {
                Pagination = new Pagination(result),
                List       = result.Select(x => new ModelQualifications()
                {
                    id          = x.id,
                    name        = x.name,
                    auth        = x.auth,
                    date        = x.date,
                    institution = x.institution,
                    location    = x.location,
                    Periods     = 3, //temp
                }).ToList()
            };

            return(model);
        }
Esempio n. 2
0
        public ModelPagedList <ModelCourse> MyCourse(int page = 1)
        {
            int pageSize = 6;

            var paidOrderQuery = DB.MyOrder.AsNoTracking().Where(x => x.CUSTOMER_ID == AuthCustomer.CustomerId && x.PAYMWNT_STATUS == ConstValue.OrderStatus.Paid);

            paidOrderQuery = paidOrderQuery.OrderByDescending(x => x.DATE);
            var result = paidOrderQuery.ToPagedList(page, pageSize);

            var model = new ModelPagedList <ModelCourse>()
            {
                Pagination = new Pagination(result),
                List       = result.Select(x => new ModelCourse(x.OnlineCourse)).ToList()
            };

            return(model);
        }
Esempio n. 3
0
        public ModelPagedList <ModelCourse> MyFavorite(int page = 1)
        {
            int pageSize = 6;

            var query = DB.Favorite.AsNoTracking().Where(x => x.customerId == AuthCustomer.CustomerId);

            query = query.OrderBy(x => x.OnlineCourse.publishedTime);

            var result = query.ToPagedList(page, pageSize);

            var model = new ModelPagedList <ModelCourse>()
            {
                Pagination = new Pagination(result),
                List       = result.Select(x => new ModelCourse(x.OnlineCourse)).ToList()
            };

            return(model);
        }
Esempio n. 4
0
        public ModelPagedList <ModelMessage> MyMessage(int page = 1)
        {
            int pageSize = 10;

            var query = DB.MyMessage.AsNoTracking().Where(x => x.customerId == AuthCustomer.CustomerId);

            query = query.OrderByDescending(x => x.createTime);

            var result = query.ToPagedList(page, pageSize);

            var model = new ModelPagedList <ModelMessage>()
            {
                Pagination = new Pagination(result),
                List       = result.Select(x => new ModelMessage(x)).ToList()
            };

            return(model);
        }
Esempio n. 5
0
        public ModelPagedList <ModelSiteMessage> SiteMessage(int page = 1)
        {
            int pageSize = 10;

            var query = DB.SiteMessage.AsNoTracking().AsQueryable();

            query = query.OrderByDescending(x => x.createdTime);

            var result = query.ToPagedList(page, pageSize);

            var model = new ModelPagedList <ModelSiteMessage>()
            {
                Pagination = new Pagination(result),
                List       = result.Select(x => new ModelSiteMessage(x)).ToList()
            };

            return(model);
        }
Esempio n. 6
0
        public ModelPagedList <ModelReview> GetReview([FromUri] int courseId, int page = 1)
        {
            int pageSize = 5;

            var query = DB.Review.AsNoTracking().AsQueryable();

            query = query.Where(x => x.courseId == courseId);
            query = query.OrderByDescending(x => x.up).ThenByDescending(x => x.createdTime);
            var result = query.ToPagedList(page, pageSize);

            var model = new ModelPagedList <ModelReview>()
            {
                Pagination = new Pagination(result),
                List       = result.Select(x => new ModelReview(x)).ToList()
            };

            return(model);
        }
Esempio n. 7
0
        public ModelPagedList <ModelNews> List([FromUri] int page = 1)
        {
            int pageSize = 5;

            var query  = DB.News.AsNoTracking().AsQueryable().OrderBy(x => x.publishDate);
            var result = query.ToPagedList(page, pageSize);

            var model = new ModelPagedList <ModelNews>()
            {
                Pagination = new Pagination(result),
                List       = result.Select(x => new ModelNews()
                {
                    id          = x.id,
                    title       = x.title,
                    publishDate = x.publishDate
                }).ToList()
            };

            return(model);
        }
Esempio n. 8
0
        public ModelPagedList <ModelDocument> List([FromUri] string key = null, int page = 1)
        {
            int pageSize = 5;

            var query = DB.Document.AsNoTracking().AsQueryable();

            if (!string.IsNullOrWhiteSpace(key))
            {
                query = query.Where(x => x.title.Contains(key) || x.intro.Contains(key));
            }

            query = query.OrderBy(x => x.id);

            var result = query.ToPagedList(page, pageSize);

            var model = new ModelPagedList <ModelDocument>()
            {
                Pagination = new Pagination(result),
                List       = result.Select(x => new ModelDocument(x, AuthCustomer)).ToList()
            };

            return(model);
        }
Esempio n. 9
0
        public ModelPagedList <ModelCourse> Query([FromBody] QueryCourse param)
        {
            int page     = 1;
            int pageSize = 6;

            var query = DB.OnlineCourse.AsNoTracking().AsQueryable();

            if (param != null)
            {
                page     = param.PageIndex;
                pageSize = param.PageSize;

                if (!string.IsNullOrWhiteSpace(param.categoryA))
                {
                    query = query.Where(x => x.categoryA == param.categoryA);
                }

                if (!string.IsNullOrWhiteSpace(param.categoryB))
                {
                    query = query.Where(x => x.categoryB == param.categoryB);
                }

                if (!string.IsNullOrWhiteSpace(param.key))
                {
                    query = query.Where(x => x.name.Contains(param.key));
                }

                if (param.minPrice.HasValue)
                {
                    query = query.Where(x => x.price >= param.minPrice);
                }

                if (param.maxPrice.HasValue)
                {
                    query = query.Where(x => x.price <= param.maxPrice);
                }

                if (param.age.HasValue)
                {
                    query = query.Where(x => x.fromAge <= param.age && x.toAge >= param.age);
                }
            }

            int order    = 1;
            int orderAsc = 2;

            if (param != null)
            {
                if (param.order.HasValue)
                {
                    order = param.order.Value;
                }
                if (param.orderAsc.HasValue)
                {
                    orderAsc = param.orderAsc.Value;
                }
            }

            if (orderAsc == 1)
            {
                if (order == 1)
                {
                    query = query.OrderBy(x => x.viewCount);
                }
                else if (order == 2)
                {
                    query = query.OrderBy(x => x.publishedTime);
                }
                else
                {
                    query = query.OrderBy(x => x.price);
                }
            }
            else
            {
                if (order == 1)
                {
                    query = query.OrderByDescending(x => x.viewCount);
                }
                else if (order == 2)
                {
                    query = query.OrderByDescending(x => x.publishedTime);
                }
                else
                {
                    query = query.OrderByDescending(x => x.price);
                }
            }

            var result = query.ToPagedList(page, pageSize);

            List <Favorite> favs = new List <DAL.Favorite>();

            if (User.Identity.IsAuthenticated)
            {
                if (AuthCustomer != null)
                {
                    var ids = result.Select(x => x.courseId).ToList();
                    favs = DB.Favorite.AsNoTracking().Where(x => x.customerId == AuthCustomer.CustomerId && ids.Contains(x.courseId)).ToList();
                }
            }

            var model = new ModelPagedList <ModelCourse>()
            {
                Pagination = new Pagination(result),
                List       = result.Select(x => new ModelCourse(x)).ToList()
            };

            foreach (var m in model.List)
            {
                if (favs.Any(x => x.courseId == m.id))
                {
                    m.IsFavorite = true;
                }
            }

            return(model);
        }