public object JTable([FromBody] JTableModelCat jTablePara) { int intBeginFor = (jTablePara.CurrentPage - 1) * jTablePara.Length; if (string.IsNullOrEmpty(jTablePara.CatCode) && string.IsNullOrEmpty(jTablePara.CatName) && string.IsNullOrEmpty(jTablePara.CatType)) { var query = from a in _context.UrencoAssetsCategorys where a.IsDeleted == false select new UrencoAssetsCategoryJtableModel { Id = a.Id, CatCode = a.CatCode, CatName = a.CatName, CatParent = a.CatParent, CatType = _context.CommonSettings.FirstOrDefault(y => y.CodeSet == a.CatType).ValueSet ?? "", Note = a.Note }; var data = query.OrderBy(x => x.Id).AsNoTracking(); var listFunction = data as IList <UrencoAssetsCategoryJtableModel> ?? data.ToList(); var result = new List <UrencoAssetsCategoryJtableModel>(); foreach (var func in listFunction.Where(x => string.IsNullOrEmpty(x.CatParent)).OrderBy(x => x.Id)) { var listChild = GetFunctionChild(listFunction, func.CatCode, ". . . "); var function = new UrencoAssetsCategoryJtableModel(); function.Id = func.Id; function.CatName = (listChild.Count > 0 ? "<i class='fa fa-folder-open icon-state-warning'></i> " : "<i class='fa fa-folder text-info'></i> ") + func.CatName; function.CatCode = func.CatCode; function.CatType = func.CatType; function.CatParent = func.CatParent; function.Note = func.Note; //function.TotalRow = listFunction.Count; result.Add(function); if (listChild.Count > 0) { result = result.Concat(listChild).ToList(); } } var count = query.Count(); var res = query.Skip(intBeginFor).Take(jTablePara.Length).ToList(); var jdata = JTableHelper.JObjectTable(res, jTablePara.Draw, count, "Id", "CatCode", "CatName", "CatParent", "CatType", "Note"); return(Json(jdata)); } else { var query = from a in _context.UrencoAssetsCategorys join b in _context.CommonSettings.Where(x => x.IsDeleted == false) on a.CatType equals b.CodeSet where a.IsDeleted == false && (string.IsNullOrEmpty(jTablePara.CatName) || a.CatName.ToLower().Contains(jTablePara.CatName.ToLower())) && (string.IsNullOrEmpty(jTablePara.CatType) || a.CatType.ToLower().Contains(jTablePara.CatType.ToLower())) && (string.IsNullOrEmpty(jTablePara.CatParent) || a.CatParent.ToLower().Contains(jTablePara.CatParent.ToLower())) select new UrencoAssetsCategoryJtableModel { Id = a.Id, CatCode = a.CatCode, CatName = a.CatName, CatParent = a.CatParent, CatType = b.ValueSet, Note = a.Note }; int count = query.Count(); var data = query.AsQueryable().OrderUsingSortExpression(jTablePara.QueryOrderBy).Skip(intBeginFor).Take(jTablePara.Length); var jdata = JTableHelper.JObjectTable(data.ToList(), jTablePara.Draw, count, "Id", "CatCode", "CatName", "CatParent", "CatType", "Note"); return(Json(jdata)); } }
public object JTable([FromBody] JTableModelCat jTablePara) { //int intBegin = (jTablePara.CurrentPage - 1) * jTablePara.Length; //var query = from a in _context.FundCatReptExpss // where a.IsDeleted == false // && (string.IsNullOrEmpty(jTablePara.CatCode) || a.CatCode.ToLower().Contains(jTablePara.CatCode.ToLower())) // && (string.IsNullOrEmpty(jTablePara.CatName) || a.CatName.ToLower().Contains(jTablePara.CatName.ToLower())) // && (string.IsNullOrEmpty(jTablePara.CatType) || a.CatType.ToLower().Contains(jTablePara.CatType.ToLower())) // select new FundCatReptExpsJtableModel // { // Id = a.Id, // CatCode = a.CatCode, // CatName = a.CatName, // CatParent = a.CatParent, // CatType = a.CatType, // Note = a.Note // }; //int count = query.Count(); //var data = query.AsQueryable().OrderUsingSortExpression(jTablePara.QueryOrderBy).Skip(intBegin).Take(jTablePara.Length); //var jdata = JTableHelper.JObjectTable(data.ToList(), jTablePara.Draw, count, "Id", "CatCode", "CatName", "CatParent", "CatType", "Note"); //return Json(jdata); int intBeginFor = (jTablePara.CurrentPage - 1) * jTablePara.Length; if (string.IsNullOrEmpty(jTablePara.CatCode) && string.IsNullOrEmpty(jTablePara.CatName) && string.IsNullOrEmpty(jTablePara.CatType)) { var query = from a in _context.FundCatReptExpss where a.IsDeleted == false select new FundCatReptExpsJtableModel { Id = a.Id, CatCode = a.CatCode, CatName = a.CatName, CatParent = a.CatParent, CatType = a.CatType, Note = a.Note }; var data = query.OrderBy(x => x.Id).AsNoTracking(); var listFunction = data as IList <FundCatReptExpsJtableModel> ?? data.ToList(); var result = new List <FundCatReptExpsJtableModel>(); foreach (var func in listFunction.Where(x => string.IsNullOrEmpty(x.CatParent)).OrderBy(x => x.Id)) { var listChild = GetFunctionChild(listFunction, func.CatCode, ". . . "); var function = new FundCatReptExpsJtableModel(); function.Id = func.Id; function.CatName = (listChild.Count > 0 ? "<i class='fa fa-folder-open icon-state-warning'></i> " : "<i class='fa fa-folder text-info'></i> ") + func.CatName; function.CatCode = func.CatCode; function.CatType = func.CatType; function.CatParent = func.CatParent; function.Note = func.Note; //function.TotalRow = listFunction.Count; result.Add(function); if (listChild.Count > 0) { result = result.Concat(listChild).ToList(); } } var count = result.Count(); var res = result.Skip(intBeginFor).Take(jTablePara.Length).ToList(); var jdata = JTableHelper.JObjectTable(res, jTablePara.Draw, count, "Id", "CatCode", "CatName", "CatParent", "CatType", "Note"); return(Json(jdata)); } else { var query = from a in _context.FundCatReptExpss where a.IsDeleted == false && (string.IsNullOrEmpty(jTablePara.CatName) || a.CatName.ToLower().Contains(jTablePara.CatName.ToLower())) && (string.IsNullOrEmpty(jTablePara.CatType) || a.CatType.ToLower().Contains(jTablePara.CatType.ToLower())) && (string.IsNullOrEmpty(jTablePara.CatParent) || a.CatParent.ToLower().Contains(jTablePara.CatParent.ToLower())) select new FundCatReptExpsJtableModel { Id = a.Id, CatCode = a.CatCode, CatName = a.CatName, CatParent = a.CatParent, CatType = a.CatType, Note = a.Note }; int count = query.Count(); var data = query.AsQueryable().OrderUsingSortExpression(jTablePara.QueryOrderBy).Skip(intBeginFor).Take(jTablePara.Length); var jdata = JTableHelper.JObjectTable(data.ToList(), jTablePara.Draw, count, "Id", "CatCode", "CatName", "CatParent", "CatType", "Note"); return(Json(jdata)); } }