Example #1
0
        private async Task <List <AdviseListDto> > GetAdviseListAsync(GetAdvisesInput input)
        {
            //var mid = UserManager.GetControlEmployeeId();
            var queryAd = _adviseRepository.GetAll()
                          .WhereIf(!string.IsNullOrEmpty(input.Filter), a => a.Title.Contains(input.Filter) || a.Phone.Contains(input.Filter) || a.Content.Contains(input.Filter));

            var queryWe = _wechatuserRepository.GetAll();
            var query   = (from ad in queryAd
                           join we in queryWe on ad.OpenId equals we.OpenId into aw
                           from de in aw.DefaultIfEmpty()
                           select new AdviseListDto()
            {
                Title = ad.Title,
                UserTypeName = ad.UserTypeName,
                OpenId = ad.OpenId,
                Phone = ad.Phone,
                Content = ad.Content,
                PhotoUrl = ad.PhotoUrl,
                TenantId = ad.TenantId,
                CreationTime = ad.CreationTime,
                UserName = de.NickName != null ? de.NickName : "",
            }).WhereIf(!string.IsNullOrEmpty(input.Name), aw => aw.UserName.Contains(input.Name));
            var advises = await query.ToListAsync();

            var advisesDtos = advises.MapTo <List <AdviseListDto> >();

            return(advisesDtos);
        }
Example #2
0
        /// <summary>
        /// 获取Advise的分页列表信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <AdviseListDto> > GetPagedAdvises(GetAdvisesInput input)
        {
            var query = _adviseRepository.GetAll()
                        .WhereIf(!string.IsNullOrEmpty(input.Filter), a => a.Title.Contains(input.Filter) || a.Phone.Contains(input.Filter) || a.Content.Contains(input.Filter));
            //TODO:根据传入的参数添加过滤条件
            var adviseCount = await query.CountAsync();

            var advises = await query
                          .OrderByDescending(a => a.CreationTime)
                          .PageBy(input)
                          .ToListAsync();

            //var adviseListDtos = ObjectMapper.Map<List <AdviseListDto>>(advises);
            var adviseListDtos = advises.MapTo <List <AdviseListDto> >();

            return(new PagedResultDto <AdviseListDto>(
                       adviseCount,
                       adviseListDtos
                       ));
        }
Example #3
0
        public async Task <APIResultDto> ExportAdviseExcel(GetAdvisesInput input)
        {
            try
            {
                var exportData = await GetAdviseListAsync(input);

                var result = new APIResultDto();
                result.Code = 0;
                result.Data = SaveAdviseExcel("意见反馈.xlsx", exportData);
                return(result);
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("ExportPostInfoExcel errormsg:{0} Exception:{1}", ex.Message, ex);
                return(new APIResultDto()
                {
                    Code = 901, Msg = "网络忙... 请待会重试!"
                });
            }
        }
Example #4
0
        /// <summary>
        /// 获取Advise的分页列表信息连接WeChatUser表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <AdviseListDto> > GetPagedAdvisesReferenceWeChatUser(GetAdvisesInput input)
        {
            var queryAd = _adviseRepository.GetAll()
                          .WhereIf(!string.IsNullOrEmpty(input.Filter), a => a.Title.Contains(input.Filter) || a.Phone.Contains(input.Filter) || a.Content.Contains(input.Filter));

            var queryWe = _wechatuserRepository.GetAll();
            var query   = (from ad in queryAd
                           join we in queryWe on ad.OpenId equals we.OpenId into aw
                           from de in aw.DefaultIfEmpty()
                           select new AdviseListDto()
            {
                Id = ad.Id,
                Title = ad.Title,
                UserTypeName = ad.UserTypeName,
                OpenId = ad.OpenId,
                Phone = ad.Phone,
                Content = ad.Content,
                PhotoUrl = ad.PhotoUrl,
                TenantId = ad.TenantId,
                CreationTime = ad.CreationTime,
                UserName = de.NickName != null ? de.NickName : "",
            }).WhereIf(!string.IsNullOrEmpty(input.Name), aw => aw.UserName.Contains(input.Name));

            //query = query.WhereIf(!string.IsNullOrEmpty(input.Name), aw => aw.UserName.Contains(input.Name));
            //TODO:根据传入的参数添加过滤条件
            var adviseCount = await query.CountAsync();

            var advises = await query
                          .OrderByDescending(a => a.CreationTime)
                          .ToListAsync();

            //var adviseListDtos = ObjectMapper.Map<List <AdviseListDto>>(advises);
            var adviseListDtos = advises.MapTo <List <AdviseListDto> >();

            return(new PagedResultDto <AdviseListDto>(
                       adviseCount,
                       adviseListDtos
                       ));
        }