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 IEnumerable<IResult> AssignUser() { var assignUser = new AssignUser(ProgramId, Version, Username, Key, SelectedUser).AsCommand(); var getProgram = new GetProgram(ProgramId).AsQuery(); yield return getProgram; yield return Show.Screen<ProgramOverviewViewModel>() .Configured(x => x.WithData(getProgram.Response) .SelectedTab(x.Versions.Single(v => v.Version == Version))); yield return assignUser; }
public IEnumerable<IResult> AddProgram() { yield return Show.Busy(); var addProgram = new AddProgram(Name, Notes) .AsCommand(); _wasSaved = true; yield return addProgram; var getProgram = new GetProgram(addProgram.Command.GeneratedId) .AsQuery(); yield return getProgram; yield return Show.Screen<ProgramOverviewViewModel>().Configured(x => x.WithData(getProgram.Response)); yield return Show.NotBusy(); }