private void dgvPutinRecord_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            WarehouseOrderOrderEnum orderBy = WarehouseOrderOrderEnum.DispathTime;

            switch (e.ColumnIndex)
            {
            case 3:
                orderBy = WarehouseOrderOrderEnum.Staff;
                break;

            case 4:
                orderBy = WarehouseOrderOrderEnum.DispathPlace;
                break;

            case 5:
                orderBy = WarehouseOrderOrderEnum.DispathTime;
                break;
            }
            if (currentOrderBy == orderBy)
            {
                ascding = !ascding;
            }
            else
            {
                ascding = true;
            }
            currentOrderBy = orderBy;
            customPageControl.MannuleClickGo();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获得出库订单表
        /// </summary>
        /// <param name="totalCount"></param>
        /// <param name="searchName"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="orderEnum"></param>
        /// <param name="ascending"></param>
        /// <returns></returns>
        public CResult <List <WebRemovalWarehouseOrder> > GetRemovalWarehouseOrderList(out int totalCount, string searchName = "", int pageIndex = -1, int pageSize = 100,
                                                                                       WarehouseOrderOrderEnum orderEnum     = WarehouseOrderOrderEnum.DispathTime, bool ascending = false, DateTime?searchStarttime = null,
                                                                                       DateTime?searchEndTime = null)
        {
            totalCount = 0;
            using (var db = new WarehouseContext())
            {
                Expression <Func <RemovalWarehouseOrder, bool> > filter = r => r.StateID == (int)RecordState.Show &&
                                                                          r.RemovalWarehouseRecords.Count > 0;
                if (!string.IsNullOrWhiteSpace(searchName))
                {
                    filter = filter.And(r => r.Staff.Contains(searchName) ||
                                        r.SpeedChangeBoxName.Contains(searchName) ||
                                        r.DispathPlace.Contains(searchName));
                }
                if (searchStarttime.HasValue)
                {
                    filter = filter.And(r => r.DispathTime >= searchStarttime);
                }
                if (searchEndTime.HasValue)
                {
                    searchEndTime = searchEndTime.Value.AddDays(1);
                    filter        = filter.And(r => r.DispathTime <= searchEndTime);
                }

                var removalWareOrderIQueary = RepositoryIoc.GetRemovalWarehouseOrderRepository(db).LazyGet(out totalCount, filter);
                switch (orderEnum)
                {
                case WarehouseOrderOrderEnum.Count:
                    if (ascending)
                    {
                        removalWareOrderIQueary = removalWareOrderIQueary.OrderBy(r => r.RemovalWarehouseRecords.Count());
                    }
                    else
                    {
                        removalWareOrderIQueary = removalWareOrderIQueary.OrderByDescending(r => r.RemovalWarehouseRecords.Count());
                    }
                    break;

                case WarehouseOrderOrderEnum.DispathTime:
                    if (ascending)
                    {
                        removalWareOrderIQueary = removalWareOrderIQueary.OrderBy(r => r.DispathTime);
                    }
                    else
                    {
                        removalWareOrderIQueary = removalWareOrderIQueary.OrderByDescending(r => r.DispathTime);
                    }
                    break;

                case WarehouseOrderOrderEnum.DispathPlace:
                    if (ascending)
                    {
                        removalWareOrderIQueary = removalWareOrderIQueary.OrderBy(r => r.DispathPlace);
                    }
                    else
                    {
                        removalWareOrderIQueary = removalWareOrderIQueary.OrderByDescending(r => r.DispathPlace);
                    }
                    break;

                case WarehouseOrderOrderEnum.Staff:
                    if (ascending)
                    {
                        removalWareOrderIQueary = removalWareOrderIQueary.OrderBy(r => r.Staff);
                    }
                    else
                    {
                        removalWareOrderIQueary = removalWareOrderIQueary.OrderByDescending(r => r.Staff);
                    }
                    break;
                }
                removalWareOrderIQueary = removalWareOrderIQueary.Page(out totalCount, null, true, pageIndex, pageSize);
                var result = (from f in removalWareOrderIQueary
                              select new WebRemovalWarehouseOrder()
                {
                    OrderID = f.OrderID,
                    SpeedChangeBoxName = f.SpeedChangeBoxName,
                    Count = f.RemovalWarehouseRecords.Count(),
                    Staff = f.Staff,
                    DispathPlace = f.DispathPlace,
                    DispathTime = f.DispathTime,
                    PlanCount = f.PlanCount,
                }).ToList();
                return(new CResult <List <WebRemovalWarehouseOrder> >(result));
            }
        }