Beispiel #1
0
        /// <summary>
        /// Вернуть список заказ переговорных по фильтру
        /// </summary>
        /// <returns></returns>
        /// <param name="seatsCount">Количество комнат от и более</param>
        /// <param name="projector">Проектор</param>
        /// <param name="markerBoard">Маркерная доска</param>
        /// <param name="dateStart">Дата начала период</param>
        /// <param name="dateEnd">Дата окончания периода</param>
        /// <param name="statusFilter">Фильтр по статусу брони</param>
        public List <OrderRoomInfo> GetRoomsOfFilters(int seatsCount, RoomIsProjector projector,
                                                      RoomIsMarkerBoard markerBoard, DateTime dateStart, DateTime dateEnd, OrderRoomStatusFilter statusFilter)
        {
            RoomRepository  roomRepository = new RoomRepository(dataContent);
            List <RoomInfo> roomList       = roomRepository.GetRooms(seatsCount, projector, markerBoard);

            if (roomList == null || roomList.Count == 0)
            {
                return(new List <OrderRoomInfo>());
            }
            List <OrderRoomInfo> orderRoomList = dataContent.OrderRooms
                                                 .Where(x => x.Start >= dateStart && x.End <= dateEnd && roomList.Any(n => n.ID == x.ID)).Select(m =>
                                                                                                                                                 new OrderRoomInfo
            {
                ID       = m.ID,
                Start    = m.Start,
                End      = m.End,
                RoomID   = m.RoomID,
                MainDate = m.Start,
                UserID   = m.UserID,
                Status   = (OrderRoomStatus)m.Status
            }).ToList();

            return(orderRoomList);
        }
Beispiel #2
0
        /// <summary>
        /// Вернуть список комнат по фильтру
        /// </summary>
        /// <returns></returns>
        /// <param name="seatsCount">Количество комнат от и более</param>
        /// <param name="projector">Проектор</param>
        /// <param name="markerBoard">Маркерная доска</param>
        public List <RoomInfo> GetRooms(int seatsCount, RoomIsProjector projector, RoomIsMarkerBoard markerBoard)
        {
            List <RoomInfo> roomList = dataContent.Rooms.Where(n => n.SeatsCount > seatsCount).Select(x => new RoomInfo
            {
                ID            = x.ID,
                Name          = x.Name,
                SeatsCount    = x.SeatsCount,
                IsProjector   = x.IsProjector,
                IsMarkerBoard = x.IsMarkerBoard,
                IsBlock       = x.IsBlock
            }).ToList();

            if (roomList == null || roomList.Count == 0)
            {
                return(roomList);
            }
            if (projector == RoomIsProjector.Projector)
            {
                roomList = roomList.Where(x => x.IsProjector).ToList();
            }
            else if (projector == RoomIsProjector.UnProjector)
            {
                roomList = roomList.Where(x => !x.IsProjector).ToList();
            }
            if (markerBoard == RoomIsMarkerBoard.MarkerBoard)
            {
                roomList = roomList.Where(x => x.IsMarkerBoard).ToList();
            }
            else if (markerBoard == RoomIsMarkerBoard.UnMarkerBoard)
            {
                roomList = roomList.Where(x => !x.IsMarkerBoard).ToList();
            }
            return(roomList);
        }