public PagerResult <GetCardsOutput> GetCards(GetCardsInput input)
        {
            //if( input.CardType.IsNullOrEmpty())
            //{
            //    input.CardType = CardType.Default.Key;
            //}
            input.OrderBy = "AccountId";
            var pagerWrapper = new PagerResult <GetCardsOutput>();
            var table        = from a in _cardRepository.GetAll()
                               join b in _accountRepository.GetAll()
                               on a.AccountId equals b.Id into temp
                               from B in temp.DefaultIfEmpty()
                               select new GetCardsOutput
            {
                AccountId          = a.AccountId,
                CardNo             = a.CardNo,
                CardType           = a.CardType,
                IsPasswordAuth     = a.IsPasswordAuth,
                Status             = a.Status,
                AccountName        = B == null ? "": B.Name,
                AccountIDCardNo    = B == null ? "" : B.IDCardNo,
                IsOnlyCancellation = a.CardType != CardType.Default.Key
            };

            var result = table
                         .WhereIf(!input.Name.IsNullOrEmpty(), a => a.AccountName.StartsWith(input.Name))
                         .WhereIf(!input.CardType.IsNullOrEmpty(), c => c.CardType == input.CardType)
                         .WhereIf(!input.CardNo.IsNullOrEmpty(), c => c.CardNo.StartsWith(input.CardNo))
                         .Page(input, pagerWrapper)
                         .ToList();

            pagerWrapper.Result = result;
            return(pagerWrapper);
        }
Beispiel #2
0
        public Task <PagerResult <ListEventlogResponse> > Handle(IReceiveContext <PagerQuery <ListEventlogRequest> > context, CancellationToken cancellationToken)
        {
            var query = context.Message;
            var sql   = from r in _context.Eventlog
                        join u in _context.User on r.OptionUserId equals u.Id
                        orderby r.Id descending
                        select new ListEventlogResponse
            {
                CreateTime     = r.CreateTime,
                Id             = r.Id,
                Content        = r.Content,
                OptionUsername = u.Username,
                Title          = r.Title,
            };

            if (query.Query?.BeginDate != null)
            {
                sql = sql.Where(x => x.CreateTime >= query.Query.BeginDate.Value);
            }
            if (query.Query?.EndDate != null)
            {
                sql = sql.Where(x => x.CreateTime < query.Query.EndDate.Value.AddDays(1));
            }
            var pager = new PagerResult <ListEventlogResponse>(query.Index, query.Size, sql);

            return(Task.FromResult(pager));
        }
Beispiel #3
0
        public async Task <PagerResult <StoreRecordListApiModel> > GetPagerRecordListByInvoiceIdAsync(PagerQuery <int> query)
        {
            var invoice = _context.Invoice.First(x => x.Id == query.Query);
            IQueryable <StoreRecordListApiModel> sql;

            if (invoice.InvoiceTypeId == (int)InvoiceType.Client)
            {
                sql = GetPagerRecordListForClientByInvoiceId(invoice);
            }
            else
            {
                sql = GetPagerRecordListForChangeTypeByInvoiceId(invoice);
            }
            var data = new PagerResult <StoreRecordListApiModel>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var departments = await _mediator.ListByIdsAsync <GetHospitalDepartmentRequest, GetHospitalDepartmentResponse>(data.Select(x => x.HospitalDepartment.Id));

                var goods = await _mediator.ListByIdsAsync <GetHospitalGoodsRequest, GetHospitalGoodsResponse>(data.Select(x => x.HospitalGoods.Id).ToList());

                foreach (var m in data.Result)
                {
                    m.HospitalGoods      = goods.FirstOrDefault(x => x.Id == m.HospitalGoods.Id);
                    m.HospitalDepartment = departments.FirstOrDefault(x => x.Id == m.HospitalDepartment.Id);
                }
            }
            return(data);
        }
Beispiel #4
0
        public PagerResult <bjf_loginlog> GetPageList(QueryRole query)
        {
            //拼接sql条件查询-表达式树
            var builder   = PredicateBuilder.True <bjf_loginlog>();
            var queryinfo = new QueryInfo <bjf_loginlog>()
            {
                wheresql  = builder,
                orderby   = m => m.updatetime,
                pageindex = query.PageIndex,
                pagesize  = query.PageSize
            };
            var list  = this.SelectPageList(queryinfo);
            var count = this.GetCountByQuery(queryinfo);
            //返回到视图
            var res = new PagerResult <bjf_loginlog>
            {
                DataList   = list,
                Total      = count,
                PageSize   = query.PageSize,
                PageIndex  = query.PageIndex,
                RequestUrl = query.RequetUrl
            };

            return(res);
        }
        public async Task <PagerResult <PurchaseGoodsBillnoListApiModel> > GetPagerListByClientAsync(PagerQuery <PurchaseGoodsBillnoListQueryModel> query, int clientId)
        {
            var sql = from r in _context.PurchaseGoodsBillno
                      join p in _context.PurchaseGoods on r.PurchaseGoodsId equals p.Id
                      join x in _context.Purchase on p.PurchaseId equals x.Id
                      join d in _context.HospitalDepartment on x.HospitalDepartmentId equals d.Id
                      join m in _context.Client2HospitalClient on p.HospitalClientId equals m.HospitalClientId
                      join u in _context.User on r.CreateUserId equals u.Id
                      where m.ClientId == clientId
                      orderby r.Id descending
                      select new PurchaseGoodsBillnoListApiModel
            {
                CreateTime      = r.CreateTime,
                Id              = r.Id,
                Qty             = r.Qty,
                PurchaseGoodsId = r.PurchaseGoodsId,
                Status          = r.Status,
                HospitalGoods   = new GetHospitalGoodsResponse {
                    Id = p.HospitalGoodsId,
                },
                HospitalClient = new GetHospitalClientResponse {
                    Id = p.HospitalClientId
                },
                Billno         = r.Billno,
                Enddate        = r.Enddate,
                CreateUserName = u.Username,
                Price          = r.Price,
                Purchase       = new PurchaseValueModel
                {
                    Id = p.PurchaseId,
                    HospitalDepartment = new GetHospitalDepartmentResponse
                    {
                        Hospital = new GetHospitalResponse {
                            Id = d.HospitalId
                        },
                        Id = d.Id
                    }
                },
            };

            sql = GetQueryableForList(sql, query.Query);
            var data = new PagerResult <PurchaseGoodsBillnoListApiModel>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var purachses = await _purchaseRespository.GetValueAsync(data.Result.Select(x => x.Purchase.Id).ToArray());

                var clients = await _mediator.ListByIdsAsync <GetHospitalClientRequest, GetHospitalClientResponse>(data.Select(x => x.HospitalClient.Id));

                var goods = await _mediator.ListByIdsAsync <GetHospitalGoodsRequest, GetHospitalGoodsResponse>(data.Select(x => x.HospitalGoods.Id).ToList());

                foreach (var m in data.Result)
                {
                    m.HospitalGoods  = goods.FirstOrDefault(x => x.Id == m.HospitalGoods.Id);
                    m.Purchase       = purachses.FirstOrDefault(x => x.Id == m.Purchase.Id);
                    m.HospitalClient = clients.FirstOrDefault(x => x.Id == m.HospitalClient.Id);
                }
            }
            return(data);
        }
Beispiel #6
0
        /// <summary>
        /// 导出用卡明细列表数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public HttpFileOutput DeriveBillingRecordList(InputBillingRecordListDto input)
        {
            string sql          = string.Empty;
            var    parameters   = HandleSQL(input, "export", out sql);
            var    pagerWrapper = new PagerResult <OutputDeriveBillingRecordListDto>();

            pagerWrapper.Result = _databaseMediator.ExcuteSqlQueryAsync <OutputDeriveBillingRecordListDto>(sql, parameters).Result;
            //预留:ex操作组件 begin
            var excelFormatter = _formatterFactory.Create(FomatterType.Excel);
            // 准备输出文件的路径(绝对路径)
            var filePath = Path.Combine(
                AppDomain.CurrentDomain.BaseDirectory,
                PlatformServiceConst.TEMP_FILE_NAME,
                $"{Guid.NewGuid().ToString()}.xlsx");

            // 把Studen实体列表输出到指定路径
            excelFormatter.FromListToFile <OutputDeriveBillingRecordListDto>(pagerWrapper.Result, filePath);

            //预留:ex操作组件 end
            return(new HttpFileOutput()
            {
                FilePath = filePath,
                FileName = $"用卡明细列表数据{DateTime.Now.ToString("yyyyMMdd_HH:mm")}.xlsx"
            });
        }
        // GET: Enrolls
        public async Task <IActionResult> Index(EnrollsParam param)
        {
            //return View(await _context.Enrolls.ToListAsync());

            ViewBag.SearchFilters = param.SearchFilters;
            var list = string.IsNullOrWhiteSpace(param.SearchFilters) ?
                       await _context.Enrolls.OrderByDescending(x => x.CreateDate).AsNoTracking().ToListAsync() :
                       await _context.Enrolls.Where(x => x.Message.Contains(param.SearchFilters)).OrderByDescending(x => x.CreateDate).AsNoTracking().ToListAsync();

            //paginate
            var list_page = list.Skip(param.Skip).Take(param.PageSize);

            //total count
            var data_count = list.Count;

            param.RequetUrl = Request.QueryString.Value;
            var res = new PagerResult <Enroll>
            {
                Code       = 0,
                DataList   = list_page,
                Total      = data_count,
                PageSize   = param.PageSize,
                PageIndex  = param.PageIndex,
                RequestUrl = param.RequetUrl
            };

            return(View(res));
        }
Beispiel #8
0
        public async Task <PagerResult <StoreInoutGoodsListApiModel> > GetPagerListAsync(PagerQuery <StoreInoutGoodsListQueryModel> query)
        {
            var sql = from r in _context.StoreInoutGoods
                      orderby r.Id descending
                      select new StoreInoutGoodsListApiModel
            {
                CreateTime    = r.CreateTime,
                Id            = r.Id,
                Qty           = r.Qty,
                StoreInoutId  = r.StoreInoutId,
                HospitalGoods = new GetHospitalGoodsResponse
                {
                    Id = r.HospitalGoodsId,
                },
            };

            if (query.Query?.StoreInoutId != null)
            {
                sql = sql.Where(x => x.StoreInoutId == query.Query.StoreInoutId.Value);
            }
            var data = new PagerResult <StoreInoutGoodsListApiModel>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var goods = await _mediator.ListByIdsAsync <GetHospitalGoodsRequest, GetHospitalGoodsResponse>(data.Select(x => x.HospitalGoods.Id).ToList());

                foreach (var m in data.Result)
                {
                    m.HospitalGoods = goods.FirstOrDefault(x => x.Id == m.HospitalGoods.Id);
                }
            }
            return(data);
        }
Beispiel #9
0
        public async Task <PagerResult <CheckListGoodsPreviewListApiModel> > GetPagerPreviewListAsync(int checkListId, PagerQuery <CheckListGoodsPreviewQueryModel> query)
        {
            var sql = from r in _context.CheckListGoods
                      join u in _context.User on r.CreateUserId equals u.Id
                      where r.CheckListId == checkListId
                      select new CheckListGoodsPreviewListApiModel
            {
                CreateTime    = r.CreateTime,
                Id            = r.Id,
                CheckQty      = r.CheckQty,
                HospitalGoods = new GetHospitalGoodsResponse
                {
                    Id = r.HospitalGoodsId,
                },
                CreateUsername = u.Username,
                StoreQty       = r.StoreQty,
            };
            var data = new PagerResult <CheckListGoodsPreviewListApiModel>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var goods = await _mediator.ListByIdsAsync <GetHospitalGoodsRequest, GetHospitalGoodsResponse>(data.Select(x => x.HospitalGoods.Id).ToList());

                foreach (var m in data.Result)
                {
                    m.HospitalGoods = goods.FirstOrDefault(x => x.Id == m.HospitalGoods.Id);
                }
            }
            return(data);
        }
        public PagerResult <Client2HospitalClientOverview> GetOverviewByPage(PagerQuery <Client2HospitalClientQurable> payload)
        {
            var sql = from p in _context.Client2HospitalClient
                      join u in _context.User on p.CreateUserId equals u.Id
                      join c in _context.HospitalClient on p.HospitalClientId equals c.Id
                      join h in _context.Hospital on c.HospitalId equals h.Id
                      join ct in _context.Client on p.ClientId equals ct.Id
                      orderby p.Id descending
                      select new Client2HospitalClientOverview
            {
                Client         = ct,
                Mapping        = p,
                HospitalClient = c,
                Hospital       = h,
                User           = u,
            };

            if (payload.Query?.HospitalId != null)
            {
                sql = sql.Where(x => x.Hospital.Id == payload.Query.HospitalId.Value);
            }
            if (payload.Query?.ClientId != null)
            {
                sql = sql.Where(x => x.Client.Id == payload.Query.ClientId.Value);
            }
            if (!string.IsNullOrEmpty(payload.Query?.Name))
            {
                sql = sql.Where(x => x.Client.Name.Contains(payload.Query.Name));
            }
            var data = new PagerResult <Client2HospitalClientOverview>(payload.Index, payload.Size, sql);

            return(data);
        }
Beispiel #11
0
        public PagerResult <bjf_user> GetPageList(QueryUser query)
        {
            //拼接sql条件查询-表达式树
            var builder = PredicateBuilder.True <bjf_user>();

            builder = builder.And(m => m.isdelete == false);
            //传参
            if (!string.IsNullOrEmpty(query.loginname))
            {
                builder = builder.And(m => m.loginname == query.loginname);
            }
            var queryinfo = new QueryInfo <bjf_user>()
            {
                wheresql  = builder,
                orderby   = m => m.updatetime,
                pageindex = query.PageIndex,
                pagesize  = query.PageSize
            };
            var list  = this.SelectPageList(queryinfo);
            var count = this.GetCountByQuery(queryinfo);
            //返回到视图
            var res = new PagerResult <bjf_user>
            {
                DataList   = list,
                Total      = count,
                PageSize   = query.PageSize,
                PageIndex  = query.PageIndex,
                RequestUrl = query.RequetUrl
            };

            return(res);
        }
Beispiel #12
0
 public PagerResult<bjf_menu> GetPageList(PagerInBase query)
 {
     //拼接sql条件查询-表达式树
     var builder = PredicateBuilder.True<bjf_menu>();
     builder = builder.And(m => m.isdelete == false);
     //传参
     var queryinfo = new QueryInfo<bjf_menu>()
     {
         wheresql = builder,
         orderby = m => m.updatetime,
         pageindex = query.PageIndex,
         pagesize = query.PageSize
     };
     var list = this.SelectPageList(queryinfo);
     var count = this.GetCountByQuery(queryinfo);
     //返回到视图
     var res = new PagerResult<bjf_menu>
     {
         DataList = list,
         Total = count,
         PageSize = query.PageSize,
         PageIndex = query.PageIndex,
         RequestUrl = query.RequetUrl
     };
     return res;
 }
Beispiel #13
0
        /// <summary>
        /// 获取结算明细
        /// </summary>
        public PagerResult <GetSettlementListOutput> GetSettlementList(GetSettlementListInput inputDto)
        {
            var result = new PagerResult <GetSettlementListOutput>();

            if (!inputDto.StartTime.HasValue)
            {
                inputDto.StartTime = DateTime.Now.AddDays(-1);
            }

            if (!inputDto.EndTime.HasValue)
            {
                inputDto.EndTime = DateTime.Now;
            }

            var matchedRecords = _settlementRecordRepository.GetAllIncluding(p => p.OwedOperator)
                                 .WhereIf(p => p.OwedOperator.UserName == inputDto.OperatorName, !inputDto.OperatorName.IsNullOrEmpty())
                                 .WhereIf(p => p.SettleEndTime > inputDto.StartTime, inputDto.StartTime != default(DateTime))
                                 .WhereIf(p => p.SettleEndTime <= inputDto.EndTime, inputDto.EndTime != default(DateTime))
                                 .Page(inputDto, result)
                                 .Select(p => new GetSettlementListOutput()
            {
                SettlementRecordId = p.Id.ToString(),
                OperatorName       = p.OwedOperator.UserName,
                SettlementTime     = p.SettleEndTime,
                SettlementContent  = p.AmountContent
            }).ToList();

            result.Result = matchedRecords;
            return(result);
        }
        public async Task <PagerResult <PurchaseSettingThresholdListApiModel> > GetPagerListAsync(PagerQuery <PurchaseSettingThresholdListQueryModel> query)
        {
            var sql = from r in _context.PurchaseSettingThreshold
                      join p in _context.PurchaseSetting on r.PurchaseSettingId equals p.Id
                      join u in _context.User on r.CreateUserId equals u.Id
                      join t in _context.DataPurchaseThresholdType on r.ThresholdTypeId equals t.Id
                      orderby r.Id descending
                      select new PurchaseSettingThresholdListApiModel
            {
                CreateTime     = r.CreateTime,
                Id             = r.Id,
                CreateUserName = u.Username,
                DownQty        = r.DownQty,
                UpQty          = r.UpQty,
                HospitalGoods  = new GetHospitalGoodsResponse
                {
                    Id = r.HospitalGoodsId,
                },
                ThresholdType = t,
            };
            var data = new PagerResult <PurchaseSettingThresholdListApiModel>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var goods = await _mediator.ListByIdsAsync <GetHospitalGoodsRequest, GetHospitalGoodsResponse>(data.Select(x => x.HospitalGoods.Id).ToList());

                foreach (var m in data.Result)
                {
                    m.HospitalGoods = goods.FirstOrDefault(x => x.Id == m.HospitalGoods.Id);
                }
            }
            return(data);
        }
Beispiel #15
0
        public JsonResult GetOnlineUsers(UserSearchModel searchModel)
        {
            var result = new ResponseResult();

            try
            {
                var skip        = (searchModel.PageIndex - 1) * searchModel.PageSize;
                var onlienUsers = searchModel.UserType > 0
                    ? PKBag.OnlineUserRecorder.GetUserList().Where(u => u.UserDegree == searchModel.UserType).OrderBy(u => u.UserName).Skip(skip).Take(searchModel.PageSize).ToList()
                    : PKBag.OnlineUserRecorder.GetUserList().OrderBy(u => u.UserName).Skip(skip).Take(searchModel.PageSize).ToList();
                //var userNames = onlienUsers.Select(u => u.UserName).ToList();
                //var users = new UserService().GetUsers(userNames);

                var pager = new PagerResult <App.Core.OnlineStat.OnlineUser>();
                pager.Items     = onlienUsers;
                pager.RowCount  = PKBag.OnlineUserRecorder.GetUserList().Count;
                pager.PageCount = pager.RowCount % searchModel.PageSize == 0 ? pager.RowCount / searchModel.PageSize : pager.RowCount / searchModel.PageSize + 1;

                result.Data = pager;
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = MessageConst.System_Error;
                _logger.Info(ex);
            }

            return(Json(result));
        }
        public PagerResult <T> Find(IEnumerable <Expression <Func <T, bool> > > filters, Pager pager, OrderBy orderBy)
        {
            var exec = this.Query.AsQueryable <T>();

            if (filters != null)
            {
                foreach (var f in filters)
                {
                    exec = exec.Where(f);
                }
            }

            var totalCount = pager != null && pager.IsValid() ? exec.Count() : 0;

            if (orderBy != null)
            {
                exec = orderBy.Apply(exec);
            }

            if (pager != null && pager.IsValid())
            {
                exec = exec.Skip((pager.PageNum - 1) * pager.PageSize).Take(pager.PageSize);
            }

            var result = new PagerResult <T>(exec.AsEnumerable <T>().ToArray());

            if (pager != null && pager.IsValid())
            {
                result.SetInfo(pager.PageNum, pager.PageSize, totalCount);
            }

            return(result);
        }
Beispiel #17
0
        public async Task <PagerResult <StoreRecordListApiModel> > GetPagerListAsync(PagerQuery <StoreRecordListQueryModel> query)
        {
            var sql = from r in _context.StoreRecord
                      join uc in _context.User on r.CreateUserId equals uc.Id
                      join ct in _context.DataStoreChangeType on r.ChangeTypeId equals ct.Id
                      orderby r.Id descending
                      select new StoreRecordListApiModel
            {
                Id                 = r.Id,
                CreateTime         = r.CreateTime,
                CreateUserName     = uc.Username,
                ChangeQty          = r.ChangeQty,
                BeforeQty          = r.BeforeQty,
                Price              = r.Price,
                ChangeType         = ct,
                HospitalDepartment = new GetHospitalDepartmentResponse
                {
                    Id = r.HospitalDepartmentId,
                },
                HospitalGoods = new GetHospitalGoodsResponse
                {
                    Id = r.HospitalGoodsId,
                },
            };

            if (query.Query?.HospitalDepartmentId != null)
            {
                sql = sql.Where(x => x.HospitalDepartment.Id == query.Query.HospitalDepartmentId.Value);
            }
            if (query.Query?.HospitalGoodsId != null)
            {
                sql = sql.Where(x => x.HospitalGoods.Id == query.Query.HospitalGoodsId.Value);
            }
            if (query.Query?.BeginDate != null)
            {
                sql = sql.Where(x => x.CreateTime >= query.Query.BeginDate.Value);
            }
            if (query.Query?.EndDate != null)
            {
                sql = sql.Where(x => x.CreateTime < query.Query.EndDate.Value.AddDays(1));
            }
            var data = new PagerResult <StoreRecordListApiModel>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var departments = await _mediator.ListByIdsAsync <GetHospitalDepartmentRequest, GetHospitalDepartmentResponse>(data.Select(x => x.HospitalDepartment.Id));

                var goods = await _mediator.ListByIdsAsync <GetHospitalGoodsRequest, GetHospitalGoodsResponse>(data.Select(x => x.HospitalGoods.Id).ToList());

                foreach (var m in data.Result)
                {
                    m.HospitalGoods      = goods.FirstOrDefault(x => x.Id == m.HospitalGoods.Id);
                    m.HospitalDepartment = departments.FirstOrDefault(x => x.Id == m.HospitalDepartment.Id);
                }
            }
            return(data);
        }
Beispiel #18
0
        internal async Task <PagerResult> LoadDataSource(int currentPage)
        {
            var result = new PagerResult()
            {
                Rows  = Datas,
                Total = Datas.Count
            };

            return(await Task.FromResult(result));
        }
Beispiel #19
0
        internal async Task <PagerResult> LoadDataSource(int currentPage)
        {
            var result = new PagerResult()
            {
                Rows  = AllDatas.Skip((currentPage - 1) * pageSize).Take(pageSize).ToList(),
                Total = AllDatas.Count
            };

            return(await Task.FromResult(result));
        }
Beispiel #20
0
        public System.Web.Http.IHttpActionResult Get([FromQuery] string search, [FromQuery] int page, [FromQuery] int rows, [FromQuery] int order)
        {
            var list = ctx.listArtits(search, page, rows, (ArtitsOrderBy)order);

            PagerResult result = new PagerResult(page, rows);

            result.totalRecords = ctx.totalArtists();
            result.setResult <Artist>(list);

            return(Ok(result));
        }
Beispiel #21
0
        public static PagerResult <T> GetPagerList <T>(IList <T> list, PagerSupport criteria)
        {
            var result = new PagerResult <T>();
            var limit  = 20;
            var offset = 0;

            if (!DataCheckHelper.IsNull(criteria.Limit))
            {
                limit = decimal.ToInt32(criteria.Limit.Value);
                if (limit <= 0)
                {
                    limit = 10;
                }
            }
            if (!DataCheckHelper.IsNull(criteria.Offset))
            {
                offset = decimal.ToInt32(criteria.Offset.Value);
                if (offset <= 0 || offset > list.Count)
                {
                    offset = 0;
                }
            }

            result.AllRecordCount = list.Count;
            result.Limit          = limit;
            result.Offset         = offset;

            var start = list.Count > offset ? offset : 0;
            var end   = list.Count > offset + limit ? offset + limit : list.Count > offset ? list.Count : 0;

            result.AddAll(list.Skip(start).Take(end - start).ToList());

            if (!DataCheckHelper.IsNull(criteria.SortBy))
            {
                if (IsSortField <T>(criteria.SortBy))
                {
                    var ex = GetExpressionSort <T>(criteria.SortBy);
                    if (DataCheckHelper.IsNull(criteria.IsAsc))
                    {
                        criteria.IsAsc = true;
                    }
                    if (criteria.IsAsc.Value)
                    {
                        result.ResultList = result.AsQueryable().OrderBy(ex).ToList();
                    }
                    else
                    {
                        result.ResultList = result.AsQueryable().OrderByDescending(ex).ToList();
                    }
                }
            }

            return(result);
        }
Beispiel #22
0
        public IHttpActionResult Get([FromUri] string search, [FromUri] string artistId, [FromUri] int page, [FromUri] int rows, [FromUri] int order)
        {
            var list = ctx.listProducts(search, artistId, page, rows, (ProductOrderBy)order);

            PagerResult result = new PagerResult(page, rows);

            result.totalRecords = ctx.totalProducts();
            result.setResult <Product>(list);

            return(Ok(result));
        }
        public PagerResult <UserDto> GetUsers(InputGetUsers input)
        {
            List <Guid> organizeIds   = null;
            List <Guid> departmentIds = null;

            if (input.OrganizeId != null && input.OrganizeId != Guid.Empty)
            {
                organizeIds = _organizeRepository.GetAllChildren(input.OrganizeId.Value).Select(s => s.Id).ToList();
            }
            if (input.DepartmentId != null && input.DepartmentId != Guid.Empty)
            {
                departmentIds = _departmentRepository.GetAllChildren(input.DepartmentId.Value).Select(s => s.Id).ToList();
            }
            var users = _userRepository.GetAll()
                        .WhereIf(!input.LoginName.IsNullOrEmpty(), s => s.LoginName.Contains(input.LoginName))
                        .WhereIf(!input.UserName.IsNullOrEmpty(), s => s.UserName.Contains(input.UserName))
                        .WhereIf(!input.Mobile.IsNullOrEmpty(), s => s.Mobile == input.Mobile)
                        .WhereIf(organizeIds != null && organizeIds.Count > 0, s => organizeIds.Contains(s.OrganizeId))
                        .WhereIf(departmentIds != null && departmentIds.Count > 0, s => s.Departments.Any(d => departmentIds.Contains(d.Id)));

            var totalResult = from user in users
                              join org in _organizeRepository.GetAll()
                              on user.OrganizeId equals org.Id
                              select new { User = user, OrganizeName = org.Name };
            var result = from user in totalResult.OrderBy(s => s.User.CreateTime).Skip((input.PageIndex - 1) * input.PageSize).Take(input.PageSize).ToList()
                         select new UserDto
            {
                Id                = user.User.Id,
                OrganizeId        = user.User.OrganizeId,
                OrganizeName      = user.OrganizeName,
                Departments       = user.User.Departments.ToDictionary(s => s.Id, s => s.Name),
                Duty              = user.User.Duty,
                EMail             = user.User.EMail,
                IsReset           = user.User.IsReset,
                IsStop            = user.User.IsStop,
                JobNo             = user.User.JobNo,
                LoginName         = user.User.LoginName,
                Mobile            = user.User.Mobile,
                ProfessionalLevel = user.User.ProfessionalLevel,
                Remark            = user.User.Remark,
                Roles             = user.User.Roles.ToDictionary(s => s.Id, s => s.Name),
                UserName          = user.User.UserName
            };
            var pageResult = new PagerResult <UserDto>()
            {
                PageIndex  = input.PageIndex,
                PageSize   = input.PageSize,
                TotalCount = totalResult.Count(),
                Result     = result.ToList(),
            };

            return(pageResult);
        }
        public async Task <PagerResult <ListClient2HospitalClientResponse> > Handle(IReceiveContext <PagerQuery <ListClient2HospitalClientRequest> > context, CancellationToken cancellationToken)
        {
            var query = context.Message;
            var sql   = from p in _context.Client2HospitalClient
                        join u in _context.User on p.CreateUserId equals u.Id
                        join c in _context.HospitalClient on p.HospitalClientId equals c.Id
                        join h in _context.Hospital on c.HospitalId equals h.Id
                        join ct in _context.Client on p.ClientId equals ct.Id
                        orderby p.Id descending
                        select new ListClient2HospitalClientResponse
            {
                Client = new GetClientResponse
                {
                    Id   = ct.Id,
                    Name = ct.Name,
                },
                ClientMappingId = p.Id,
                HospitalClient  = new GetHospitalClientResponse
                {
                    Id       = c.Id,
                    Hospital = new GetHospitalResponse {
                        Id = h.Id,
                    }
                },
                CreateTime     = p.CreateTime,
                CreateUserName = u.Username,
            };

            if (query.Query?.HospitalId != null)
            {
                sql = sql.Where(x => x.HospitalClient.Hospital.Id == query.Query.HospitalId.Value);
            }
            if (query.Query?.ClientId != null)
            {
                sql = sql.Where(x => x.Client.Id == query.Query.ClientId.Value);
            }
            if (!string.IsNullOrEmpty(query.Query?.Name))
            {
                sql = sql.Where(x => x.Client.Name.Contains(query.Query.Name));
            }
            var data = new PagerResult <ListClient2HospitalClientResponse>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var hospitalclients = await _mediator.ListByIdsAsync <GetHospitalClientRequest, GetHospitalClientResponse>(data.Select(x => x.HospitalClient.Id));

                foreach (var m in data.Result)
                {
                    m.HospitalClient = hospitalclients.FirstOrDefault(x => x.Id == m.HospitalClient.Id);
                }
            }
            return(data);
        }
Beispiel #25
0
        /// <summary>
        /// 查询记录
        /// </summary>
        /// <param name="inputDto">查询实体</param>
        /// <returns></returns>

        public PagerResult <Dtos.GetDepartmentOutputDTO> GetDepartment(Dtos.GetDepartmentInputDTO inputDto)
        {
            var pagerWrapper = new PagerResult <Dtos.GetDepartmentOutputDTO>();
            var table        = from c in _deptRepository.GetAll()
                               join p in _deptRepository.GetAll()
                               on c.ParentId equals p.Id into Parent
                               from P in Parent.DefaultIfEmpty()
                               join o in _organizeRepository.GetAll()
                               on c.OrganizeId equals o.Id into Organize
                               from O in Organize.DefaultIfEmpty()
                               join mu in _userRepository.GetAll()
                               on c.ManagerId equals mu.Id into Manager
                               from MU in Manager.DefaultIfEmpty()
                               join cu in _userRepository.GetAll()
                               on c.Creator equals cu.Id into Creator
                               from CU in Creator.DefaultIfEmpty()
                               join uu in _userRepository.GetAll()
                               on c.LastModifier equals uu.Id into LastModifier
                               from UU in LastModifier.DefaultIfEmpty()

                               select new Dtos.GetDepartmentOutputDTO
            {
                Id             = c.Id.ToString(),
                Name           = c.Name,
                Email          = c.Email,
                ManagerId      = c.ManagerId.ToString(),
                Fax            = c.Fax,
                Layer          = c.Layer,
                ParentId       = c.ParentId,
                ParentName     = P.Name,
                OrganizeName   = O.Name,
                Phone          = c.Phone,
                CreateTime     = c.CreateTime,
                Creator        = CU == null ? "" : CU.UserName,
                Description    = c.Description,
                OrganizeId     = c.OrganizeId,
                LastModifier   = UU == null ? "" : UU.UserName,
                LastModifyTime = c.LastModifyTime,
                SortCode       = c.SortCode,
                Manager        = MU == null ? "" : MU.UserName,
            };
            var result = table
                         .WhereIf(!inputDto.DepartmentName.IsNullOrEmpty(), p => p.Name.Contains(inputDto.DepartmentName))
                         .WhereIf(inputDto.OrganizeId.HasValue, p => p.OrganizeId == inputDto.OrganizeId)
                         .WhereIf(!inputDto.Manager.IsNullOrEmpty(), p => p.Manager.Contains(inputDto.Manager))
                         .WhereIf(inputDto.ParentId.HasValue, p => p.ParentId == inputDto.ParentId)
                         .Page(inputDto, pagerWrapper)
                         .ToList();

            pagerWrapper.Result = result;
            return(pagerWrapper);
        }
Beispiel #26
0
        public async Task <PagerResult <PrescriptionListApiModel> > GetPagerListAsync(PagerQuery <PrescriptionListQueryModel> query, int hospitalId)
        {
            var sql = from p in _context.Prescription
                      join u in _context.User on p.CreateUserId equals u.Id
                      join d in _context.HospitalDepartment on p.HospitalDepartmentId equals d.Id
                      where d.HospitalId == hospitalId
                      orderby p.Id descending
                      select new PrescriptionListApiModel
            {
                Cardno             = p.Cardno,
                CreateTime         = p.CreateTime,
                CreateUserName     = u.Username,
                Id                 = p.Id,
                Status             = p.Status,
                HospitalDepartment = new GetHospitalDepartmentResponse {
                    Id = p.HospitalDepartmentId
                },
            };

            if (query.Query?.HospitalDepartmentId != null)
            {
                sql = sql.Where(x => x.HospitalDepartment.Id == query.Query.HospitalDepartmentId.Value);
            }
            if (!string.IsNullOrEmpty(query.Query?.Cardno))
            {
                sql = sql.Where(x => x.Cardno.Contains(query.Query.Cardno));
            }
            if (query.Query?.Status != null)
            {
                sql = sql.Where(x => x.Status == query.Query.Status.Value);
            }
            if (query.Query?.BeginDate != null)
            {
                sql = sql.Where(x => x.CreateTime >= query.Query.BeginDate.Value);
            }
            if (query.Query?.EndDate != null)
            {
                sql = sql.Where(x => x.CreateTime < query.Query.EndDate.Value.AddDays(1));
            }
            var data = new PagerResult <PrescriptionListApiModel>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var departments = await _mediator.ListByIdsAsync <GetHospitalDepartmentRequest, GetHospitalDepartmentResponse>(data.Select(x => x.HospitalDepartment.Id));

                foreach (var m in data.Result)
                {
                    m.HospitalDepartment = departments.FirstOrDefault(x => x.Id == m.HospitalDepartment.Id);
                }
            }
            return(data);
        }
Beispiel #27
0
        public async Task <PagerResult <PurchaseListApiModel> > GetPagerListAsync(PagerQuery <PurchaseListQueryModel> query)
        {
            var sql = from r in _context.Purchase
                      join u in _context.User on r.CreateUserId equals u.Id
                      join p in _context.HospitalDepartment on r.HospitalDepartmentId equals p.Id
                      orderby r.Id descending
                      select new PurchaseListApiModel
            {
                CreateTime         = r.CreateTime,
                Id                 = r.Id,
                CreateUserName     = u.Username,
                Name               = r.Name,
                Remark             = r.Remark,
                Status             = r.Status,
                HospitalDepartment = new GetHospitalDepartmentResponse
                {
                    Id       = r.HospitalDepartmentId,
                    Hospital = new GetHospitalResponse {
                        Id = p.HospitalId
                    }
                }
            };

            if (query.Query?.HospitalId != null)
            {
                sql = sql.Where(x => x.HospitalDepartment.Hospital.Id == query.Query.HospitalId.Value);
            }
            if (query.Query?.HospitalDepartmentId != null)
            {
                sql = sql.Where(x => x.HospitalDepartment.Id == query.Query.HospitalDepartmentId.Value);
            }
            if (query.Query?.Status != null)
            {
                sql = sql.Where(x => x.Status == query.Query.Status.Value);
            }
            if (!string.IsNullOrEmpty(query.Query?.Name))
            {
                sql = sql.Where(x => x.Name.Contains(query.Query.Name));
            }
            var data = new PagerResult <PurchaseListApiModel>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var departments = await _mediator.ListByIdsAsync <GetHospitalDepartmentRequest, GetHospitalDepartmentResponse>(data.Select(x => x.HospitalDepartment.Id).ToList());

                foreach (var m in data.Result)
                {
                    m.HospitalDepartment = departments.FirstOrDefault(x => x.Id == m.HospitalDepartment.Id);
                }
            }
            return(data);
        }
        /// <summary>
        /// 获取机器人
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public PagerResult<GetRobotsOutput> GetRobots(GetRobotsInput input)
        {
            var result = new PagerResult<GetRobotsOutput>();

            var robots = _robotRepo.GetAll()
                .WhereIf(input.DepartmentId.HasValue, p => p.DepartmentId == input.DepartmentId)
                .WhereIf(!string.IsNullOrEmpty(input.Name), p => p.Name.Contains( input.Name))
                .Page(input, result)
                .ToList();

            result.Result = robots.MapTo<List<GetRobotsOutput>>();
            return result;
        }
        public async Task <PagerResult <ListHospitalDepartmentResponse> > Handle(IReceiveContext <PagerQuery <ListHospitalDepartmentRequest> > context, CancellationToken cancellationToken)
        {
            var query = context.Message;
            var sql   = from r in _context.HospitalDepartment
                        join u in _context.User on r.CreateUserId equals u.Id
                        join d in _context.DataDepartmentType on r.DepartmentTypeId equals d.Id
                        join rp in _context.HospitalDepartment on r.ParentId equals rp.Id into rp_def
                        from rp_def_t in rp_def.DefaultIfEmpty()
                        orderby r.Id descending
                        select new ListHospitalDepartmentResponse
            {
                CreateTime = r.CreateTime,
                Id         = r.Id,
                Name       = r.Name,
                Hospital   = new GetHospitalResponse
                {
                    Id = r.HospitalId
                },
                CreateUserName  = u.Username,
                DepartmentType  = d,
                IsPurchaseCheck = r.IsPurchaseCheck,
                Parent          = rp_def_t != null ? new IdNameValueModel {
                    Id = rp_def_t.Id, Name = rp_def_t.Name
                } : null,
            };

            if (query.Query?.HospitalId != null)
            {
                sql = sql.Where(x => x.Hospital.Id == query.Query.HospitalId.Value);
            }
            if (query.Query?.DepartmentTypeId != null)
            {
                sql = sql.Where(x => x.DepartmentType.Id == query.Query.DepartmentTypeId.Value);
            }
            if (!string.IsNullOrEmpty(query.Query?.Name))
            {
                sql = sql.Where(x => x.Name.Contains(query.Query.Name));
            }
            var data = new PagerResult <ListHospitalDepartmentResponse>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var hospitals = await _mediator.ListByIdsAsync <GetHospitalRequest, GetHospitalResponse>(data.Select(x => x.Hospital.Id).ToList());

                foreach (var m in data.Result)
                {
                    m.Hospital = hospitals.FirstOrDefault(x => x.Id == m.Hospital.Id);
                }
            }
            return(data);
        }
Beispiel #30
0
        public async Task <PagerResult <InvoiceListApiModel> > GetPagerListAsync(PagerQuery <InvoiceListQueryModel> query, int hospitalId)
        {
            var sql = from r in _context.Invoice
                      join u in _context.User on r.CreateUserId equals u.Id
                      join t in _context.DataInvoiceType on r.InvoiceTypeId equals t.Id
                      join p in _context.HospitalDepartment on r.HospitalDepartmentId equals p.Id
                      orderby r.Id descending
                      where p.HospitalId == hospitalId
                      select new InvoiceListApiModel
            {
                CreateTime         = r.CreateTime,
                Id                 = r.Id,
                CreateUserName     = u.Username,
                Name               = r.Name,
                Remark             = r.Remark,
                EndDate            = r.EndDate,
                StartDate          = r.StartDate,
                InvoiceType        = t,
                Status             = r.Status,
                HospitalDepartment = new GetHospitalDepartmentResponse {
                    Id = r.HospitalDepartmentId,
                }
            };

            if (query.Query?.HospitalDepartmentId != null)
            {
                sql = sql.Where(x => x.HospitalDepartment.Id == query.Query.HospitalDepartmentId.Value);
            }
            if (query.Query?.Status != null)
            {
                sql = sql.Where(x => x.Status == query.Query.Status.Value);
            }
            if (query.Query?.Type != null)
            {
                sql = sql.Where(x => x.InvoiceType.Id == (int)query.Query.Type.Value);
            }
            var data = new PagerResult <InvoiceListApiModel>(query.Index, query.Size, sql);

            if (data.Total > 0)
            {
                var departments = await _mediator.ListByIdsAsync <GetHospitalDepartmentRequest, GetHospitalDepartmentResponse>(data.Select(x => x.HospitalDepartment.Id));

                foreach (var m in data.Result)
                {
                    m.HospitalDepartment = departments.FirstOrDefault(x => x.Id == m.HospitalDepartment.Id);
                }
            }
            return(data);
        }
Beispiel #31
0
        // GET: Home
        public ActionResult Index(UserParams param)
        {
            param.PageSize = 10;
            var list = PageContent();
            var query = param.Name!=null ? 
                list.Where(t=>t.Name.Contains(param.Name)).ToList() :
                list.ToList();
            var data = query.Skip(param.Skip).Take(param.PageSize);
            var count = query.Count;

            var res = new PagerResult<User> { Code = 0, DataList = data, Total = count,
                PageSize = param.PageSize,PageIndex = param.PageIndex,RequestUrl = param.RequetUrl};

            return View(res);
        }