public IEnumerable<IResult> ExecuteSearch() { yield return Show.Busy(); var search = new SearchPrograms(SearchText) .AsQuery(); yield return search; var responseCount = search.Response.Count(); if (responseCount == 0) Results = new NoResultsViewModel(); else if (responseCount == 1 && string.Compare(search.Response.First().Name, SearchText, true) == 0) { var getProgram = new GetProgram(search.Response.First().Id) .AsQuery(); yield return getProgram; yield return Show.Screen<ProgramOverviewViewModel>() .Configured(x => x.WithData(getProgram.Response)); } else if (responseCount > 0) Results = new ResultsViewModel(new ObservableCollection<IndividualResultViewModel>(search.Response)); yield return Show.NotBusy(); }
public IEnumerator<IResult> GetAllPrograms() { var search = new GetAllPrograms() .AsQuery(); yield return Show.Busy(); yield return search; if (search.Response.Count() == 0) Results = new NoProgramsViewModel(); else Results = new ResultsViewModel(new ObservableCollection<IndividualResultViewModel>(search.Response)); yield return Show.NotBusy(); }