private IRoomsQuery ConvertServerTalksToRoomsQuery(ITalksQuery talksQuery) { var talks = talksQuery.TalkQueries.Select(o => o.Talk).ToList(); var roomNamesOfTheDay = talks.Where(o => o.Date.Equals(_dateTalk) || o.IsDateUndefined).Select(o => o.Room).Distinct(); var talksOfTheDay = talks.Where(o => o.Date.Equals(_dateTalk) || o.IsDateUndefined); return(new RoomsQuery(roomNamesOfTheDay.Select(roomName => new Room(roomName, _dateTalk, talksOfTheDay.Where(o => o.Room.Equals(roomName)).OrderBy(o => o.Start).ToList())), talksQuery.Exceptions)); }
public async Task <IRoomsQuery> LoadRoomsLightTalksAsync(DateTime dateTalk) { _dateTalk = dateTalk; if (_lightTalksQueryCache == null) { _lightTalksQueryCache = await _proxy.LoadLightTalksAsync(); } return(ConvertServerTalksToRoomsQuery(_lightTalksQueryCache)); }