Example #1
0
        //get value in findJson
        public static string GetFindValue(DtDto dt, string fid)
        {
            if (_Str.IsEmpty(dt.findJson))
            {
                return("");
            }

            var findJson = _Str.ToJson(dt.findJson);

            return((findJson[fid] == null)
                ? ""
                : findJson[fid].ToString());
        }
Example #2
0
 public ContentResult GetPage(DtDto dt)
 {
     return(Content(new RoleRead().GetPage(dt).ToString(), _Web.AppJson));
 }
Example #3
0
 public ContentResult GetPage(DtDto dt)
 {
     return(Content(new ColumnRead().GetPage(dt).ToString(), _Web.AppJson, Encoding.UTF8));
 }
Example #4
0
 //傳回一頁資料列
 public JObject GetPage(DtDto dt)
 {
     //呼叫公用類別 CrudRead
     return(new CrudRead().GetPage(model, dt));
 }
Example #5
0
 public JObject GetPage(DtDto dt)
 {
     return(new CrudRead().GetPage(dto, dt));
 }
Example #6
0
 public async Task <ContentResult> GetPage(DtDto dt)
 {
     return(JsonToCnt(await new TableRead().GetPageAsync(Ctrl, dt)));
 }
Example #7
0
        /// <summary>
        /// get page rows for dataTables(json)
        /// </summary>
        /// <param name="crud"></param>
        /// <param name="dt"></param>
        /// <param name="findJson">if not null, will query by this and not from dtIn.findJson</param>
        /// <returns>jquery dataTables object</returns>
        public JObject GetPage(ReadDto crud, DtDto dt, JObject findJson = null)
        {
            //adjust
            if (dt.length < 10)
            {
                dt.length = 10;
            }

            //set instance variables from input args
            _dtIn = dt;
            if (findJson == null)
            {
                findJson = string.IsNullOrEmpty(dt.findJson) ? null : _Json.StrToJson(dt.findJson);
            }

            //convert sql to model
            var sqlDto = _Sql.SqlToDto(crud.ReadSql, crud.UseSquare);

            if (sqlDto == null)
            {
                return(null);
            }

            //prepare sql where & set sql args by user input condition
            //var sqlModel = sqlModel0.Value;
            var where = GetWhere(crud, findJson, _dtIn.search.value);
            if (where != "")
            {
                sqlDto.Where = (sqlDto.Where == "")
                    ? "Where " + where : sqlDto.Where + " And " + where;
            }

            #region get rows count if need
            JArray rows     = null;
            var    db       = GetDb();
            var    rowCount = dt.recordsFiltered;
            var    sql      = "";
            var    group    = (sqlDto.Group == "") ? "" : " " + sqlDto.Group; //remove last space
            if (rowCount < 0)
            {
                sql = "Select Count(*) as _count " +
                      sqlDto.From + " " +
                      sqlDto.Where +
                      group;
                var row = db.GetJson("\n" + sql, _sqlArgs); //for log 斷行
                if (row == null)
                {
                    rowCount = 0;
                    goto lab_exit;
                }

                //case of ok
                rowCount = Convert.ToInt32(row["_count"]);
            }
            #endregion

            //sorting
            var orderColumn = (dt.order == null || dt.order.Count == 0)
                ? -1 : dt.order[0].column;
            if (orderColumn >= 0)
            {
                sqlDto.Order = "Order By " +
                               sqlDto.Columns[orderColumn].Trim() +
                               (dt.order[0].dir == OrderTypeEnum.Asc ? "" : " Desc");
            }

            //set dbModel, consider crud.ColList
            sql = sqlDto.Select + " " +
                  sqlDto.From + " " +
                  sqlDto.Where + group;

            //get data
            sql  = string.Format(_Fun.ReadPageSql, sql, sqlDto.Order, dt.start, dt.length).Replace("  ", " ");  //2012
            rows = db.GetJsons(sql, _sqlArgs);

lab_exit:
            var result = JObject.FromObject(new
            {
                dt.draw,
                data            = rows,
                recordsTotal    = 0,
                recordsFiltered = rowCount,
            });

            //close db & return
            db.Dispose();
            return(result);
        }
Example #8
0
 public async Task <ContentResult> GetPage(DtDto dt)
 {
     return(JsonToCnt(await new ColumnRead().GetPageAsync(dt)));
 }