コード例 #1
0
        // 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));
        }
コード例 #2
0
ファイル: IFixitController.cs プロジェクト: kysu1313/ITSearch
        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));
        }