/// <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); }
/// <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); }