Ejemplo n.º 1
0
        private void dgvRooms_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            switch (e.ColumnIndex)
            {
            case 0:
                _ordered = RoomOrdered.ByRoomNumber;
                break;

            case 1:
                _ordered = RoomOrdered.ByCategory;
                break;

            case 2:
                _ordered = RoomOrdered.ByNumberSeat;
                break;

            case 3:
                _ordered = RoomOrdered.ByFloor;
                break;

            case 4:
                _ordered = RoomOrdered.ByPriceDay;
                break;

            default:
                _ordered = RoomOrdered.None;
                break;
            }
            // просим перерисовать таблицу
            dgvRooms.Invalidate();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Фильтрование
        /// </summary>
        /// <param name="floor">Номер этажа</param>
        /// <param name="ordered">Переключатель сортировки</param>
        /// <returns></returns>
        public List <Room> FilteredByFloor(int floor = 0, RoomOrdered ordered = RoomOrdered.None)
        {
            switch (ordered)
            {
            case RoomOrdered.ByFloor:
                if (floor == 0)
                {
                    return(OrderedByFloor(this));
                }
                return(OrderedByFloor(this.Where(item => item.Floor == floor).ToList()));

            case RoomOrdered.ByCategory:
                if (floor == 0)
                {
                    return(OrderedByCategory(this));
                }
                return(OrderedByCategory(this.Where(item => item.Floor == floor).ToList()));

            case RoomOrdered.ByNumberSeat:
                if (floor == 0)
                {
                    return(OrderedByNumberSeat(this));
                }
                return(OrderedByNumberSeat(this.Where(item => item.Floor == floor).ToList()));

            case RoomOrdered.ByPriceDay:
                if (floor == 0)
                {
                    return(OrderedByPriceDay(this));
                }
                return(OrderedByPriceDay(this.Where(item => item.Floor == floor).ToList()));

            case RoomOrdered.ByRoomNumber:
                if (floor == 0)
                {
                    return(OrderedByRoomNumber(this));
                }
                return(OrderedByRoomNumber(this.Where(item => item.Floor == floor).ToList()));

            default:
                if (floor == 0)
                {
                    return(this);
                }
                return(this.Where(item => item.Floor == floor).ToList());
            }
        }