コード例 #1
0
ファイル: XinBaseController.cs プロジェクト: haitongxuan/Xin2
        public virtual async Task <ActionResult <DataRes <List <TEntity> > > > GetList(NavigateOrderReq req)
        {
            var result = new DataRes <List <TEntity> >()
            {
                code = ResCode.Success
            };

            using (var uow = _uowProvider.CreateUnitOfWork())
            {
                bool cp = await CheckPermission("Read", uow);

                if (cp)
                {
                    try
                    {
                        OrderBy <TEntity> order = null;
                        if (req.order != null && !string.IsNullOrWhiteSpace(req.order.columnName))
                        {
                            order = new OrderBy <TEntity>(req.order.columnName, req.order.reverse);
                        }
                        var repository = uow.GetRepository <TEntity>();
                        var models     = await repository.NGetAllAsync(order != null?order.Expression : null, req.navPropertyPaths);

                        result.data = models.ToList();

                        return(result);
                    }
                    catch (Exception ex)
                    {
                        result.code = ResCode.ServerError;
                        result.msg  = ex.Message;
                        return(result);
                    }
                }
                else
                {
                    return(Unauthorized());
                }
            }
        }
コード例 #2
0
ファイル: XinBaseController.cs プロジェクト: haitongxuan/Xin2
        public override async Task <ActionResult <DataRes <List <TEntity> > > > GetList([FromBody] NavigateOrderReq req)
        {
            var result = new DataRes <List <TEntity> >()
            {
                code = ResCode.Success
            };

            using (var uow = _uowProvider.CreateUnitOfWork())
            {
                bool cp = await CheckPermission("Read", uow);

                if (cp)
                {
                    try
                    {
                        var repository = uow.GetRepository <TEntity>();
                        if (req.order == null || string.IsNullOrWhiteSpace(req.order.columnName))
                        {
                            req.order            = new Order();
                            req.order.columnName = "Id";
                            req.order.reverse    = false;
                        }
                        OrderBy <TEntity> order = null;
                        var models = await repository.NQueryAsync(f => f.StopFlag == false, order != null?order.Expression : null
                                                                  , req.navPropertyPaths);

                        result.data = models.ToList();
                        return(result);
                    }
                    catch (Exception ex)
                    {
                        result.code = ResCode.ServerError;
                        result.msg  = ex.Message;
                        return(result);
                    }
                }
                else
                {
                    return(Unauthorized());
                }
            }
        }