public IEnumerable <ICommonModelObject> Search(string searchQuery, IQuickStartData data) { if (string.IsNullOrEmpty(searchQuery) || data == null) { return(null); } IEnumerable <ICommonModelObject> controls = data.AllControls; IEnumerable <ICommonModelObject> examples = data.Examples; IEnumerable <ICommonModelObject> allControlsAndExamples = controls.Union(examples); Func <ICommonModelObject, bool> searchPredicate = (ICommonModelObject item) => { var nameMatches = item.Name.ContainsLowerCase(searchQuery); var keywordsMatch = item.Keywords.ContainsLowerCase(searchQuery); var textMatches = item.Text.ContainsLowerCase(searchQuery); return(nameMatches || keywordsMatch || textMatches); }; var results = allControlsAndExamples.Where(searchPredicate); if (results.Count() == 0) { return(Enumerable.Empty <ICommonModelObject>()); } return(results); }
private async Task InitializeXMLResourcesIfNeeded() { if (this.quickStartData == null) { XElement xmlRootElement = (await this.GetExamplesXMLRootElementAsync()).Root; ModelFactory.InitializeQuickStartData(xmlRootElement); this.quickStartData = ModelFactory.GetQuickStartDataSingleton(); } }
public void Initialize(IQuickStartData data, DeployManager deployManager) { if (this.isInitialized) { return; } this.data = data; this.deployManager = deployManager; this.isInitialized = true; }