示例#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
        public IActionResult ViewGuide([FromQuery] int guideId)
        {
            IFixitApi ifa = new IFixitApi();

            string      newSearch = HttpUtility.UrlEncode(guideId.ToString());
            IFixitGuide data      = ifa.MakeGuideCall("guides/" + guideId + "?pretty");

            GuideViewModel ifvm = new GuideViewModel();

            ifvm.Guide = data;

            return(View("ViewGuide", ifvm));
        }
示例#3
0
        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));
        }
示例#4
0
        public IActionResult ViewWiki([FromQuery] string wikiTitle)
        {
            IFixitApi ifa = new IFixitApi();

            //string ns = HttpUtility.UrlEncode(wikiNamespace);
            string         title = HttpUtility.UrlEncode(wikiTitle);
            IFixitWikiPost data  = ifa.MakeWikiCall("wikis/CATEGORY/" + title + "?pretty");

            WikiViewModel ifvm = new WikiViewModel();

            ifvm.WikiPost = data;

            return(View("ViewWiki", ifvm));
        }