Пример #1
0
        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);
        }
Пример #3
0
        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);
        }