示例#1
0
        public async Task <PageResponse> Page(JObject form, bool isRecycle = false)
        {
            var req = new SqlServerPageRequest(form);

            var columnNum = req.GetQueryField("columnNum")?.Value.ToStr();

            if (columnNum == null)
            {
                return(PageResponse.Error("无效数据"));
            }

            var column = await _columnService.GetByNum(columnNum);

            if (column == null)
            {
                return(PageResponse.Error("无效数据"));
            }

            var model = await _modelTableService.GetByNum(column.ModelNum);

            if (model == null)
            {
                return(PageResponse.Error("栏目未绑定模型"));
            }

            req.Queries.Add(new DefaultQuery(isRecycle, new DefaultQuerySql("IsDel")));

            return(await Page(model.SqlTableName, req));
        }
示例#2
0
        public async Task <PageResponse> FieldPage([FromBody] JObject form)
        {
            var req = new SqlServerPageRequest(form);

            if (!req.ContainsQueryField("ModelNum"))
            {
                return(PageResponse.Error("请选择模型"));
            }

            return(await _modelFieldService.Page(req));
        }
示例#3
0
        public async Task <PageResponse> Page([FromBody] JObject form)
        {
            var req = new SqlServerPageRequest(form, new Dictionary <string, string>
            {
                { "Sort", "DESC" }
            });

            if (!req.ContainsQueryField("columnNum"))
            {
                return(PageResponse.Error("请选择栏目"));
            }
            return(await _service.Page(req));
        }
示例#4
0
        public async Task <PageResponse> Page([FromBody] JObject form)
        {
            var req = new SqlServerPageRequest(form);

            return(await _service.Page(req));
        }
示例#5
0
        public async Task <IActionResult> Tag(string num, string tag, int current = 1)
        {
            if (num.IsEmpty() || tag.IsEmpty())
            {
                return(Error404());
            }

            var site = _siteService.GetCurrentSite();

            if (site == null)
            {
                return(Error404());
            }

            var column = await _columnService.GetByNum(num);

            if (column == null || column.SiteNum != site.Num)
            {
                return(Error404());
            }

            var model = column.ModelNum.IsEmpty() ? null : await _modelTableService.GetByNum(column.ModelNum);

            string folderName = site.IsMobileSite ? site.MobileSiteFolder : site.SiteFolder;

            string templatePath = $"Views/Content/{folderName}/{column.ListTemplatePath}";

            if (!System.IO.File.Exists(Path.GetFullPath(templatePath)))
            {
                return(Error404());
            }

            int size = 15;

            switch (column.Num)
            {
            case "9a32d00252853c5e":
                size = 3;
                break;
            }

            var req = new SqlServerPageRequest
            {
                Current = current,
                Size    = size,
                Queries = new List <IQuery>
                {
                    new DefaultQuery(column.Num, new DefaultQuerySql("columnNum")),
                    new DefaultQuery(false, new DefaultQuerySql("IsDel")),
                    new DefaultQuery($"&|&|&{tag}&|&|&", new DefaultQuerySql("CONCAT('&|&|&', Tag, '&|&|&')", QuerySymbol.Like))
                }
            };

            var seo = new ContentSeo(column);

            if (model != null)
            {
                var rep = await _contentService.Page(model.SqlTableName, req);

                ViewData.Model = new ContentList
                {
                    Column     = column,
                    ModelTable = model,
                    Site       = site,
                    Data       = rep.Data.Select(temp => new ContentData(temp)),
                    PageConfig = new PageConfig
                    {
                        Current     = req.Current,
                        Size        = req.Size,
                        Total       = rep.Total,
                        UrlTemplate = "/tag/" + column.Num + "/" + tag + "/{p}"
                    }
                };
            }

            ViewBag.Seo  = seo;
            ViewBag.Site = site;
            ViewBag.Tag  = tag;
            return(View($"~/{templatePath}"));
        }