public IActionResult Paging(SysAuthorizationCriteria criteria, int page, int size) { var data = sysAuthorizationService.Paging(criteria, page, size, out int rowCount); var result = new { data, totalItems = rowCount, page, size }; return(Ok(result)); }
public IQueryable <SysAuthorizationModel> Paging(SysAuthorizationCriteria criteria, int page, int size, out int rowsCount) { var data = QueryData(criteria); rowsCount = (data.Count() > 0) ? data.Count() : 0; if (size > 0) { if (page < 1) { page = 1; } data = data.Skip((page - 1) * size).Take(size); } return(data); }
public IActionResult QueryData(SysAuthorizationCriteria criteria) { var data = sysAuthorizationService.QueryData(criteria); return(Ok(data)); }
public IQueryable <SysAuthorizationModel> QueryData(SysAuthorizationCriteria criteria) { Expression <Func <SysAuthorization, bool> > query = null; if (!string.IsNullOrEmpty(criteria.All)) { query = x => x.Services.IndexOf(criteria.Service ?? "", StringComparison.OrdinalIgnoreCase) >= 0 || x.UserId.IndexOf(criteria.UserID ?? "", StringComparison.OrdinalIgnoreCase) >= 0 || x.AssignTo.IndexOf(criteria.AssignTo ?? "", StringComparison.OrdinalIgnoreCase) >= 0; if (criteria.StartDate != null) { query = query.Or(x => x.StartDate.Date == criteria.StartDate.Value.Date); } if (criteria.EndDate != null) { query = query.Or(x => x.EndDate.Value.Date == criteria.EndDate.Value.Date); } if (criteria.Active != null) { query = query.Or(x => x.Active == criteria.Active); } } else { query = x => x.Services.IndexOf(criteria.Service ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && x.UserId.IndexOf(criteria.UserID ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && x.AssignTo.IndexOf(criteria.AssignTo ?? "", StringComparison.OrdinalIgnoreCase) >= 0; if (criteria.StartDate != null) { query = query.And(x => x.StartDate.Date == criteria.StartDate.Value.Date); } if (criteria.EndDate != null) { query = query.And(x => x.EndDate.Value.Date == criteria.EndDate.Value.Date); } if (criteria.Active != null) { query = query.And(x => x.Active == criteria.Active); } } var authorizeds = DataContext.Get(query); var userAssigns = authorizedRepository.Get(); var userAssignTos = authorizedRepository.Get(); var queryData = (from authorize in authorizeds join userAssign in userAssigns on authorize.UserId equals userAssign.Id into grpUserAssigneds from assign in grpUserAssigneds.DefaultIfEmpty() join userAssignTo in userAssignTos on authorize.AssignTo equals userAssignTo.Id into grpUserAssignedTos from assignedTo in grpUserAssignedTos.DefaultIfEmpty() select new SysAuthorizationModel { Id = authorize.Id, Name = authorize.Name, ServicesName = GetServiceNameOfAuthorization(authorize.Services), Description = authorize.Description, UserId = authorize.UserId, AssignTo = authorize.AssignTo, StartDate = authorize.StartDate, EndDate = authorize.EndDate, UserCreated = authorize.UserCreated, DatetimeCreated = authorize.DatetimeCreated, UserModified = authorize.UserModified, DatetimeModified = authorize.DatetimeModified, Active = authorize.Active, InactiveOn = authorize.InactiveOn, UserNameAssign = assign.Username, UserNameAssignTo = assignedTo.Username }); var result = queryData.ToArray().OrderByDescending(x => x.DatetimeModified).AsQueryable(); return(result); }