public async Task <FadActionResult <T> > QueryAsync(GridQueryModel args = null, IList <string> fields = null) { var type = System.Reflection.Assembly.GetExecutingAssembly().GetType(nameof(args.Entity)); var actionResult = new FadActionResult <T>(); var query = _context.Set <T>().AsQueryable(); //filter if (args != null && args.Filtered != null && args.Filtered.Length > 0) { var filterExpression = GridQueryUtility.FilterExpression <T>(args.Filtered[0].id, args.Filtered[0].value); for (int i = 1; i < args.Filtered.Length; i++) { filterExpression = GridQueryUtility.FilterExpression <T>(args.Filtered[i].id, args.Filtered[i].value); } query = query.Where(filterExpression); } //total count var total = await query.CountAsync(); //sort if (args != null && args.Sorted != null && args.Sorted.Length > 0) { for (int i = 0; i < args.Sorted.Length; i++) { query = query.SortBy(args.Sorted[i].id, args.Sorted[i].desc); } } //projection if (fields != null) { query = query.SelectDynamic(fields); } var result = await query.Skip(args.Page *args.PageSize) .Take(args.PageSize) .ToListAsync(); actionResult.Data = result; actionResult.TotalCount = Convert.ToInt32(Math.Ceiling(total / (float)args.PageSize));; actionResult.CurrentPage = args.Page; return(actionResult); }
public async Task <IActionResult> Get(int page = 1, int pageItems = 5) { var result = await _cityRepo.GetAsQueryable(page : page, pageItemCount : pageItems, includeProperties : "Province").ToListAsync(); var model = _mapper.Map <List <CityViewModel> >(result); var actionResult = new FadActionResult <CityViewModel>(); actionResult.Data = model; actionResult.CurrentPage = page; actionResult.IsSuccess = true; actionResult.TotalCount = await _cityRepo.GetTotalRecordCountAsync(); actionResult.Pages = Convert.ToInt32(Math.Ceiling((double)actionResult.TotalCount / pageItems)); return(Ok(actionResult)); }
//[ValidateAntiForgeryToken] public async Task <IActionResult> Edit(int id, [Bind("Id,AreaName,AreaCaption,ControllerName,ControllerCaption,ActionName,ActionCaption,ActionType")] Permissions permissions) { //if (id != permissions.Id) //{ // return NotFound(); //} var fadActionResult = new FadActionResult { IsSuccess = true }; if (ModelState.IsValid) { try { //int orginalId = Convert.ToInt32(EncyrptionUtility.Decrypt(id)); permissions.Id = id; _context.Update(permissions); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { fadActionResult.IsSuccess = false; return(Json(fadActionResult)); if (!PermissionsExists(permissions.Id)) { return(Json(fadActionResult)); } else { throw; } } fadActionResult.Message = "با موفقیت بروزرسانی شد"; return(Json(fadActionResult)); } fadActionResult.IsSuccess = false; fadActionResult.Message = "اطلاعات ارسالی صحیح نمی باشد"; return(Json(fadActionResult)); }