示例#1
0
        public virtual async Task <AppPagedResultOutput <SoftListDto> > GetPageList(GetPageListInput input)
        {
            var query = _softRepository.GetAll();

            var where = FilterExpression.FindByGroup <Soft>(input.Filter);
            var count = await query.Where(where).CountAsync();

            var list = await query.Where(where)
                       .OrderByDescending(t => t.CreationTime)
                       .PageBy(input)
                       .ToListAsync();

            var pageList = list.MapTo <List <SoftListDto> >();

            return(new AppPagedResultOutput <SoftListDto>(count, pageList, input.CurrentPage, input.PageSize));
        }
示例#2
0
 public PagingOutput <Accounts> GetPageList(GetPageListInput input)
 {
     return(AutofacConfig.Resolve <AccountsRepository>().GetPageList(
                input.PageIndex,
                input.PageSize,
                PredicateExtensionses.True <Accounts>().AndIf(a => a.LoginAccount == input.LoginAccount, !string.IsNullOrWhiteSpace(input.LoginAccount))
                .AndIf(a => a.LoginName.Contains(input.LoginName), !string.IsNullOrWhiteSpace(input.LoginName))
                .And(a => a.IsDeleted == input.IsDeleted)
                .AndIf(a => a.Email == input.Email, !string.IsNullOrWhiteSpace(input.Email))
                .AndIf(a => a.CreateTime >= input.CreateTimeBegin.Value, input.CreateTimeBegin.HasValue)
                .AndIf(a => a.CreateTime < input.CreateTimeEnd.Value, input.CreateTimeEnd.HasValue)
                .AndIf(a => a.DeleteTime >= input.DeleteTimeBegin.Value, input.DeleteTimeBegin.HasValue)
                .AndIf(a => a.DeleteTime < input.DeleteTimeEnd.Value, input.DeleteTimeEnd.HasValue),
                a => a.CreateTime,
                true
                ));
 }
示例#3
0
        public virtual async Task <AppPagedResultOutput <SoftLicenseListDto> > GetLicensePageList(long softId, GetPageListInput input)
        {
            var query = _softLicenseRepository.GetAll();

            var where = FilterExpression.FindByGroup <SoftLicense>(input.Filter);
            where     = where.And(t => t.SoftId == softId);


            var queryCount = query.Where(where)
                             .GroupJoin(_softUserRepository.GetAll(), softLicense => softLicense.SoftUserId, softUser => softUser.Id,
                                        (softLicense, softUser) => new
            {
                SoftLicense = softLicense,
                SoftUser    = softUser
            });

            if (FilterExpression.HasValue(input.Filter, "loginName"))
            {
                string value = FilterExpression.GetValue(input.Filter, "loginName");
                queryCount = queryCount.Where(t => t.SoftUser.FirstOrDefault().LoginName.Contains(value));
            }

            int count = await queryCount.CountAsync();


            var queryList = query.Where(where)
                            .GroupJoin(_softUserRepository.GetAll(), softLicense => softLicense.SoftUserId, softUser => softUser.Id,
                                       (softLicense, softUser) => new
            {
                SoftLicense = softLicense,
                SoftUser    = softUser
            });


            //queryList = queryList.Where(t => t.SoftUser.FirstOrDefault().LoginName.Contains("001"));
            if (FilterExpression.HasValue(input.Filter, "loginName"))
            {
                string value = FilterExpression.GetValue(input.Filter, "loginName");
                queryList = queryList.Where(t => t.SoftUser.FirstOrDefault().LoginName.Contains(value));
            }


            queryList = queryList.OrderByDescending(t => t.SoftLicense.CreationTime)
                        .PageBy(input);
            var list = await queryList.Select(t => new SoftLicenseListDto
            {
                Id                 = t.SoftLicense.Id,
                ApplyTime          = t.SoftLicense.ApplyTime,
                CreationTime       = t.SoftLicense.CreationTime,
                LicenseNo          = t.SoftLicense.LicenseNo,
                LicenseType        = t.SoftLicense.LicenseType,
                Price              = t.SoftLicense.Price,
                Status             = t.SoftLicense.Status,
                UseTime            = t.SoftLicense.UseTime,
                SoftUser_LoginName = t.SoftUser.FirstOrDefault().LoginName
            }).ToListAsync();

            var pageList = list;

            return(new AppPagedResultOutput <SoftLicenseListDto>(count, pageList, input.CurrentPage, input.PageSize));
        }
示例#4
0
        public virtual async Task <AppPagedResultOutput <SoftUserLoginListDto> > GetLoginPageList(GetPageListInput input)
        {
            var query = _softUserLoginRepository.GetAll();

            var where = FilterExpression.FindByGroup <SoftUserLogin>(input.Filter);


            var queryCount = query.Where(where)
                             .GroupJoin(_softUserRepository.GetAll(), left => left.SoftUserId, right => right.Id,
                                        (left, right) => new
            {
                UserLicense = left,
                SoftUser    = right
            })
                             .GroupJoin(_softRepository.GetAll(), left => left.UserLicense.SoftId, right => right.Id,
                                        (left, right) => new
            {
                SoftUserLicense = left.UserLicense,
                SoftUser        = left.SoftUser,
                Soft            = right
            });

            if (FilterExpression.HasValue(input.Filter, "loginName"))
            {
                string value = FilterExpression.GetValue(input.Filter, "loginName");
                queryCount = queryCount.Where(t => t.SoftUser.FirstOrDefault().LoginName.Contains(value));
            }

            if (FilterExpression.HasValue(input.Filter, "softName"))
            {
                string value = FilterExpression.GetValue(input.Filter, "softName");
                queryCount = queryCount.Where(t => t.Soft.FirstOrDefault().Name.Contains(value));
            }

            int count = await queryCount.CountAsync();


            var queryList = query.Where(where)
                            .GroupJoin(_softUserRepository.GetAll(), left => left.SoftUserId, right => right.Id,
                                       (left, right) => new
            {
                SoftUserLogin = left,
                SoftUser      = right
            })
                            .GroupJoin(_softRepository.GetAll(), left => left.SoftUserLogin.SoftId, right => right.Id,
                                       (left, right) => new
            {
                SoftUserLogin = left.SoftUserLogin,
                SoftUser      = left.SoftUser,
                Soft          = right
            });

            if (FilterExpression.HasValue(input.Filter, "loginName"))
            {
                string value = FilterExpression.GetValue(input.Filter, "loginName");
                queryList = queryList.Where(t => t.SoftUser.FirstOrDefault().LoginName.Contains(value));
            }

            if (FilterExpression.HasValue(input.Filter, "softName"))
            {
                string value = FilterExpression.GetValue(input.Filter, "softName");
                queryList = queryList.Where(t => t.Soft.FirstOrDefault().Name.Contains(value));
            }


            queryList = queryList.OrderByDescending(t => t.SoftUserLogin.CreationTime)
                        .PageBy(input);
            var list = await queryList.Select(t => new SoftUserLoginListDto
            {
                Id           = t.SoftUserLogin.Id,
                Mcode        = t.SoftUserLogin.Mcode,
                Ip           = t.SoftUserLogin.Ip,
                CreationTime = t.SoftUserLogin.CreationTime,
                SoftName     = t.Soft.FirstOrDefault().Name,
                LoginName    = t.SoftUser.FirstOrDefault().LoginName
            }).ToListAsync();

            var pageList = list;

            return(new AppPagedResultOutput <SoftUserLoginListDto>(count, pageList, input.CurrentPage, input.PageSize));
        }
示例#5
0
        public virtual async Task <AppPagedResultOutput <MCodeChangeLogListDto> > GetMCodeChangeLogPageList(long softUserLicenseId, GetPageListInput input)
        {
            var query = _mCodeChangeLogRepository.GetAll();

            var where = FilterExpression.FindByGroup <MCodeChangeLog>(input.Filter);
            where     = where.And(t => t.SoftUserLicenseId == softUserLicenseId);
            var count = await query.Where(where).CountAsync();

            var list = await query.Where(where)
                       .OrderByDescending(t => t.CreationTime)
                       .PageBy(input)
                       .ToListAsync();

            var pageList = list.MapTo <List <MCodeChangeLogListDto> >();

            return(new AppPagedResultOutput <MCodeChangeLogListDto>(count, pageList, input.CurrentPage, input.PageSize));
        }