/// <summary>
        /// 加载列表
        /// </summary>
        public async Task <TableData> Load(QueryWmsInboundOrderDtblListReq request)
        {
            var loginContext = _auth.GetCurrentUser();

            if (loginContext == null)
            {
                throw new CommonException("登录已过期", Define.INVALID_TOKEN);
            }

            //todo:普通账号如何分配明细的字段????先写死😰

            var properties = _dbExtension.GetProperties("WmsInboundOrderDtbl");

            var result = new TableData();
            var objs   = UnitWork.Find <WmsInboundOrderDtbl>(null);

            if (!string.IsNullOrEmpty(request.InboundOrderId))
            {
                objs = objs.Where(u => u.OrderId == request.InboundOrderId);
            }

            if (!string.IsNullOrEmpty(request.key))
            {
                objs = objs.Where(u => u.GoodsId.Contains(request.key));
            }

            var propertyStr = string.Join(',', properties.Select(u => u.Key));

            result.columnHeaders = properties;
            result.data          = objs.OrderBy(u => u.Id)
                                   .Skip((request.page - 1) * request.limit)
                                   .Take(request.limit).Select($"new ({propertyStr})");
            result.count = objs.Count();
            return(result);
        }
Пример #2
0
        /// <summary>
        /// 加载列表
        /// </summary>
        public async Task <TableData> Load(QueryWmsInboundOrderDtblListReq request)
        {
            var loginContext = _auth.GetCurrentUser();

            if (loginContext == null)
            {
                throw new CommonException("登录已过期", Define.INVALID_TOKEN);
            }

            var properties = loginContext.GetTableColumns("WmsInboundOrderDtbl");

            if (properties == null || properties.Count == 0)
            {
                throw new Exception("请在代码生成界面配置WmsInboundOrderDtbl表的字段属性");
            }
            var result = new TableData();
            var objs   = UnitWork.Find <WmsInboundOrderDtbl>(null);

            if (!string.IsNullOrEmpty(request.InboundOrderId))
            {
                objs = objs.Where(u => u.OrderId == request.InboundOrderId);
            }

            if (!string.IsNullOrEmpty(request.key))
            {
                objs = objs.Where(u => u.GoodsId.Contains(request.key));
            }

            var propertyStr = string.Join(',', properties.Select(u => u.ColumnName));

            result.columnFields = properties;
            result.data         = objs.OrderBy(u => u.Id)
                                  .Skip((request.page - 1) * request.limit)
                                  .Take(request.limit).Select($"new ({propertyStr})");
            result.count = await objs.CountAsync();

            return(result);
        }
Пример #3
0
 public async Task <TableData> Load([FromQuery] QueryWmsInboundOrderDtblListReq request)
 {
     return(await _app.Load(request));
 }
 public TableData Load([FromQuery] QueryWmsInboundOrderDtblListReq request)
 {
     return(_app.Load(request));
 }