Пример #1
0
        private static Expression <Func <LowerAgent, bool> > BuildListLowerAgentWhere(ListLowerAgentInput input)
        {
            //todo:用户id和websiteId应该从session中拿

            Expression <Func <LowerAgent, bool> > where = i =>
                                                          i.UserSysSetting.Userlayer == "0" &&
                                                          i.UserSysSetting.ParentId == input.Id &&
                                                          i.User.Id != input.Id &&
                                                          i.User.WebSiteId == input.WebSiteId;

            if (!string.IsNullOrWhiteSpace(input.Key))
            {
                where = where.And(i =>
                                  i.User.RealName.Contains(input.Key) || i.User.LoginName.Contains(input.Key) ||
                                  i.User.PhoneNumber.Contains(input.Key) || i.User.Shortname.Contains(input.Key));
            }

            if (!string.IsNullOrWhiteSpace(input.Swfzr))
            {
                where = where.And(i => i.UserSysSetting.Swfzr.Contains(input.Swfzr));
            }

            if (input.Start.HasValue)
            {
                where = where.And(i => i.UserSysSetting.ValidityDate >= input.Start);
            }

            if (input.End.HasValue)
            {
                where = where.And(i => i.UserSysSetting.ValidityDate <= input.End);
            }

            if (input.MinWdye.HasValue)
            {
                where = where.And(i => i.UserWallet.Balance >= input.MinWdye);
            }

            if (input.MaxWdye.HasValue)
            {
                where = where.And(i => i.UserWallet.Balance <= input.MaxWdye);
            }
            return(where);
        }
Пример #2
0
        /// <summary>
        /// 获取下级代理商用户列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <ApiResult <PaginationResult <LowerAgentOutputItem> > > ListLowerAgent(ListLowerAgentInput input)
        {
            var where = BuildListLowerAgentWhere(input);

            var agents = await _lowerAgentRepository.QueryByWhereAsync <LowerAgent>(input, null, where);

            var pageDatas = input.SetResult(agents.TotalCount, LowerAgent.MapToList <LowerAgentOutputItem>(agents.Datas));

            return(ApiResult.Success(pageDatas));
        }