/// <summary>
        /// 获取转校订单信息
        /// <para>作    者:zhiwei.Tang</para>
        /// <para>创建时间:2018-11-13</para>
        /// </summary>
        /// <param name="schoolId">校区Id</param>
        /// <param name="request">查询参数</param>
        /// <param name="studentIds">一组学生Id</param>
        /// <returns>转校订单信息列表</returns>
        public PageResult <TblOdrRefundOrder> GetPageResult(string schoolId, ChangeSchoolOrderListSearchRequest request, List <long> studentIds)
        {
            var queryable = base.LoadQueryable().Where(x => x.SchoolId == schoolId);

            if (request.OrderStatus.HasValue)
            {
                int orderStatus = (int)request.OrderStatus.Value;
                queryable = queryable.Where(x => x.OrderStatus == orderStatus);
            }

            if (request.STime.HasValue)
            {
                queryable = queryable.Where(x => x.CreateTime >= request.STime.Value);
            }

            if (request.ETime.HasValue)
            {
                request.ETime = request.ETime.Value.AddDays(1);
                queryable     = queryable.Where(x => x.CreateTime <= request.ETime.Value);
            }

            if (studentIds.Any())
            {
                queryable = queryable.Where(x => studentIds.Contains(x.StudentId));
            }

            queryable = queryable.OrderByDescending(x => x.CreateTime);

            return(queryable.ToPagerSource(request.PageIndex, request.PageSize));
        }
Beispiel #2
0
        /// <summary>
        /// 条件组合查询器
        /// <para>作    者:zhiwei.Tang</para>
        /// <para>创建时间:2019-02-20</para>
        /// </summary>
        /// <param name="request">转校列表查询条件</param>
        /// <param name="studentIds">学生Id</param>
        /// <param name="queryable">订单列表</param>
        /// <returns>转校订单列表</returns>
        private static IQueryable <ViewChangeSchooolOrder> ViewChangeSchooolOrders(
            ChangeSchoolOrderListSearchRequest request,
            ICollection <long> studentIds,
            IQueryable <ViewChangeSchooolOrder> queryable)
        {
            if (request.OrderStatus.HasValue)
            {
                int orderStatus = (int)request.OrderStatus.Value;
                queryable = queryable.Where(x => x.OrderStatus == orderStatus);
            }

            if (request.STime.HasValue)
            {
                queryable = queryable.Where(x => x.CreateTime >= request.STime.Value);
            }

            if (request.ETime.HasValue)
            {
                request.ETime = request.ETime.Value.AddDays(1);
                queryable     = queryable.Where(x => x.CreateTime <= request.ETime.Value);
            }

            if (!string.IsNullOrWhiteSpace(request.Key))
            {
                queryable = queryable.Where(x => studentIds.Contains(x.StudentId));
            }

            queryable = queryable.OrderByDescending(x => x.CreateTime);

            return(queryable);
        }
Beispiel #3
0
        /// <summary>
        ///  转出列表
        /// <para>作    者:zhiwei.Tang</para>
        /// <para>创建时间:2019-02-20</para>
        /// </summary>
        /// <returns>转校订单信息列表</returns>
        public PageResult <ViewChangeSchooolOrder> GetChangeOutList(string schoolId, ChangeSchoolOrderListSearchRequest request, List <long> studentIds)
        {
            var queryable = this.GetTransferOrderQueryable().Where(x => x.OutSchoolId == schoolId);

            queryable = ViewChangeSchooolOrders(request, studentIds, queryable);

            return(queryable.ToPagerSource(request.PageIndex, request.PageSize));
        }
Beispiel #4
0
        /// <summary>
        ///  转入列表
        /// <para>作    者:zhiwei.Tang</para>
        /// <para>创建时间:2019-02-20</para>
        /// </summary>
        /// <returns>转校订单信息列表</returns>
        public PageResult <ViewChangeSchooolOrder> GetChangeInList(string schoolId, ChangeSchoolOrderListSearchRequest request, List <long> studentIds)
        {
            int confirm = (int)OrderStatus.Confirm; //待接收
            int refuse  = (int)OrderStatus.Refuse;  //已拒绝
            int paid    = (int)OrderStatus.Paid;    //已接收

            var queryable = this.GetTransferOrderQueryable()
                            .Where(x => x.InSchoolId == schoolId)
                            .Where(x => x.OrderStatus == confirm || x.OrderStatus == refuse || x.OrderStatus == paid);

            queryable = ViewChangeSchooolOrders(request, studentIds, queryable);

            return(queryable.ToPagerSource(request.PageIndex, request.PageSize));
        }
Beispiel #5
0
 public PageResult <ChangeSchoolOrderListResponse> GetChangeInList([FromQuery] ChangeSchoolOrderListSearchRequest request)
 {
     return(ChangeSchoolOrderService.GetChangeInList(base.SchoolId, request));
 }