static Expression <Func <AspNetRoles, bool> > PredicateBuilderFunction(GetAllRoleParameters filter) { var predicate = PredicateBuilder.New <AspNetRoles>(true); predicate = predicate.And(b => b.IsDeleted != true); if (!string.IsNullOrWhiteSpace(filter.RoleName)) { predicate = predicate.And(b => b.Name.ToLower().StartsWith(filter.RoleName)); } return(predicate); }
public async Task <IDataPagging> GetRoles(GetAllRoleParameters parameters) { //Note When data return item1 used for count and item2 for list after pagging int limit = parameters.PageSize; int offset = (parameters.PageNumber * parameters.PageSize); var roles = await _unitOfWork.Repository.FindPaggedAsync(predicate : PredicateBuilderFunction(parameters), skip : offset, take : limit, parameters.OrderByValue); var rolesPagging = roles.Item2; if (!rolesPagging.Any()) { var result = ResponseResult.GetRepositoryActionResult(status: HttpStatusCode.NoContent, message: HttpStatusCode.NoContent.ToString()); return(new DataPagging(0, 0, 0, result)); } ; var RolesDto = Mapper.Map <IEnumerable <AspNetRoles>, IEnumerable <RoleDto> >(rolesPagging); var repoResult = ResponseResult.GetRepositoryActionResult(RolesDto, status: HttpStatusCode.OK, message: HttpStatusCode.OK.ToString()); return(new DataPagging(parameters.PageNumber, parameters.PageSize, roles.Item1, repoResult)); }
public async Task <ActionResult> LoadData(RoleSearchParameters searchParam) { var draw = Request.Form.GetValues("draw") == null ? "1" : Request.Form.GetValues("draw").FirstOrDefault(); var start = Request.Form.GetValues("start") == null ? "0" : Request.Form.GetValues("start").FirstOrDefault(); var length = Request.Form.GetValues("length") == null ? "10" : Request.Form.GetValues("length").FirstOrDefault(); //Find Order Column var sortColumn = Request.Form.GetValues("order[0][column]") == null ? "" : Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault(); var sortColumnDir = Request.Form.GetValues("order[0][dir]") == null ? "asc" : Request.Form.GetValues("order[0][dir]").FirstOrDefault(); int pageSize = length != null?Convert.ToInt32(length) : 0; int skip = start != null?Convert.ToInt32(start) : 0; var sort = new ReturnObject().GetSortModels((sortColumn == "" ? "Id" : sortColumn), sortColumnDir); var parameters = new GetAllRoleParameters() { RoleName = searchParam.RoleName, OrderByValue = sort, PageNumber = skip, PageSize = pageSize }; var returnedData = await restClientContainer.SendRequest <DataPagging>("Role/GetAll", RestSharp.Method.POST, parameters); int recordsTotal = returnedData?.TotalPage ?? 0; var data = returnedData?.Result?.Data; if (returnedData == null || returnedData.Result == null || data == null) { return(Json(new { draw = draw, recordsFiltered = 0, recordsTotal = 0, data = new fillGrids.RoleViewModel() }, JsonRequestBehavior.AllowGet)); } string json = JsonConvert.SerializeObject(data); var listSerialized = new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = Helper <List <fillGrids.RoleViewModel> > .Convert(json) }; return(Json(listSerialized, JsonRequestBehavior.AllowGet)); }
public async Task <IDataPagging> GetAll(GetAllRoleParameters parameters) { var repositoryResult = await _roleServices.GetRoles(parameters); return(repositoryResult); }