// GET: Computers/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } GeneralViewModel gvm = new GeneralViewModel(); var computer = await _context.Computers .FirstOrDefaultAsync(m => m.Id == id); if (computer == null) { return(NotFound()); } // Call iFixit api from computer name tokens IFixitApi ifa = new IFixitApi(); string search = HttpUtility.UrlEncode(computer.Description); IFixitSearchResult data = ifa.MakeCall("search/" + search + "?pretty"); string[] tokens = computer.Description.ToLower().Split(new char[] { ' ', ',', '.', ';', '(', ')', '-' }); if (data != null) { IEnumerable <IFixitJsonResult> guides = data.results.Search( m => m.dataType == "guide" ? m.title.ToLower() : "") .Containing(tokens); IEnumerable <IFixitJsonResult> wikis = data.results.Search( m => m.dataType == "wiki" ? m.title.ToLower() : "") .Containing(tokens); gvm.IFixitGuides = guides; gvm.IFixitWikis = wikis; } IEnumerable <Product> productstt = _context.Products.ToList(); IEnumerable <Product> products = productstt.Search( m => m.Description.ToLower()) .ContainingAll(tokens); if (products != null) { gvm.Products = products; } gvm.Computer = computer; return(View(gvm)); }
public IActionResult CallApi(iFixitViewModel searchItem) { IFixitApi ifa = new IFixitApi(); string search = HttpUtility.UrlEncode(searchItem.NewSearch.SearchText); IFixitSearchResult data = ifa.MakeCall("search/" + search + "?pretty"); iFixitViewModel ifvm = new iFixitViewModel(); ifvm.IFixitSearchResult = data; return(View("Index", ifvm)); }