Exemplo n.º 1
0
        /// <summary>
        /// Получить список постов блога
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PaginationResponse <BlogModel> GetBlogPostList(PaginationRequest request)
        {
            try
            {
                using (var db = new DataContext())
                {
                    var query = db.Blogs.AsNoTracking().Where(x => x.IsActive && !x.IsDelete.HasValue)
                                .OrderByDescending(x => x.DateCreate).AsQueryable();

                    var model = new PaginationResponse <BlogModel>
                    {
                        Count = query.Count()
                    };
                    query       = request.Load(query);
                    model.Items = query.Select(x => new BlogModel
                    {
                        Id             = x.Id,
                        Title          = x.Title,
                        PreviewContent = x.PreviewContent,
                        PhotoUrl       = x.PhotoUrl,
                        KeyUrl         = x.KeyUrl
                    }).ToList();
                    return(model);
                }
            }
            catch (Exception ex)
            {
                return(new PaginationResponse <BlogModel>(EnumResponseStatus.Exception, ex.Message));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Получить список городов
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PaginationResponse <DictionaryModel> GetFilteredCities(PaginationRequest <BaseFilter> request)
        {
            using (var db = new DataContext())
            {
                var query = db.Cities.AsNoTracking()
                            .OrderByDescending(x => x.Id) as IQueryable <City>;

                if (!string.IsNullOrEmpty(request.Filter.Term))
                {
                    query = query.Where(x => x.Name.ToLower().Contains(request.Filter.Term.ToLower()));
                }

                var model = new PaginationResponse <DictionaryModel> {
                    Count = query.Count()
                };

                query = request.Load(query);

                model.Items = query.Select(x => new DictionaryModel
                {
                    Id   = x.Id,
                    Name = x.Name
                }).ToList();
                return(model);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Получить список брендов для постранички
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PaginationResponse <BlogModel> GetFilteredBlogs(PaginationRequest <BaseFilter> request)
        {
            using (var db = new DataContext())
            {
                var query = db.Blogs.AsNoTracking().Where(x => !x.IsDelete.HasValue)
                            .OrderByDescending(x => x.DateCreate).AsQueryable();

                if (!string.IsNullOrEmpty(request.Filter.Term))
                {
                    query = query.Where(x => x.Title.Contains(request.Filter.Term));
                }

                var model = new PaginationResponse <BlogModel> {
                    Count = query.Count()
                };

                query = request.Load(query);

                model.Items = query.Select(x => new BlogModel
                {
                    Id         = x.Id,
                    DateCreate = x.DateCreate,
                    Title      = x.Title,
                    KeyUrl     = x.KeyUrl,
                    IsActive   = x.IsActive,
                    PhotoUrl   = x.PhotoUrl
                }).ToList();
                return(model);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Получить список заказов
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PaginationResponse <OrderAdmin.OrderHeaderModel> GetFilteredOrders(PaginationRequest <BaseFilter> request)
        {
            using (var db = new DataContext())
            {
                var query = db.OrderHeaders.AsNoTracking().Include(x => x.User.UserAddress)
                            .Where(x => !x.IsDelete.HasValue && x.Status != (int)EnumStatusOrder.Cart)
                            .OrderByDescending(x => x.DateCreate) as IQueryable <OrderHeader>;

                //if (!string.IsNullOrEmpty(request.Filter.Term))
                //    query = query.Where(x => x.Code.ToLower().Contains(request.Filter.Term.ToLower()));

                var model = new PaginationResponse <OrderAdmin.OrderHeaderModel> {
                    Count = query.Count()
                };

                query = request.Load(query);

                model.Items = query.ToList().Select(x => new OrderAdmin.OrderHeaderModel
                {
                    Id         = x.Id,
                    DateCreate = x.DateCreate,
                    UserName   = $"{x.User?.FirstName} {x.User?.LastName}",
                    StatusName = EnumService.GetEnumDescription((EnumStatusOrder)x.Status),
                    Amount     = x.Amount
                }).ToList();
                return(model);
            }
        }