public HeroCard ToCard() { var hero = new HeroCard( title: Title, subtitle: Room, text: string.Join("\n", Description)); if (Speakers?.Any() ?? false) { hero.Subtitle = string.Empty; hero.Images = new List <CardImage>(); foreach (var speaker in Speakers) { if (!string.IsNullOrEmpty(hero.Subtitle)) { hero.Subtitle += " - "; } hero.Subtitle += $"{speaker.FirstName} {speaker.LastName}"; hero.Images.Add(new CardImage() { Url = speaker.ProfilePicture, Alt = speaker.TagLine }); } } return(hero); }
// Returns a list of Seminars that matches the search conditions defined by the properties above public static List <Seminar> Execute() { var query = from s in DataInstance.seminars where (ByRoom == false || s.Room == Room) where (ByOrganiser == false || s.Organiser == Organiser) where (BySpeaker == false || s.Speakers.Any(iter => Speakers.Any(speaker => speaker.Name == iter.Name)))//.Contains(Speakers)) where (ByDate == false || (s.StartDate >= StartDate && s.StartDate <= EndDate)) select s; return(query.ToList <Seminar>()); }
private async Task LoadAsync() { ShowProgressBar(); Speakers = (await SpeakerResolver.ResolveSpeakersAsync()).ToList(); if (!Speakers.Any()) { HideProgressBar(); Toast.MakeText(ApplicationContext, "No Speakers have been found.", ToastLength.Long).Show(); return; } PlayingSpeakers = new List <ISpeaker>(); foreach (var speaker in Speakers) { if (await speaker.IsPlayingAsync()) { PlayingSpeakers.Add(speaker); } } if (!PlayingSpeakers.Any()) { HideProgressBar(); Toast.MakeText(ApplicationContext, $"None of the {Speakers.Count} Speakers is playing any content.", ToastLength.Long) .Show(); return; } SetListViewContent(Resource.Id.sourceListView, PlayingSpeakers); UnselectListView(Resource.Id.sourceListView); MakeControlVisible(Resource.Id.sourceTextView); MakeControlInvisible(Resource.Id.destinationTextView); MakeControlInvisible(Resource.Id.switchButton); SetListViewContent(Resource.Id.destinationListView, new List <ISpeaker>()); HideProgressBar(); }
private async void ActivateAsync() { if (Speakers.Any()) { return; } var allSpeakers = await _speakers.AllAsync(); var groupedSpeakers = from speaker in allSpeakers orderby speaker.FirstName group speaker by speaker.FirstName.Substring(0, 1) into speakerGroup select new Grouping <string, Speaker>(speakerGroup.Key, speakerGroup); foreach (var grouping in groupedSpeakers) { Speakers.Add(grouping); } }