// POST api/<controller>
        public async Task <IList <ItemModel> > Post(SearchItemViewModel value)
        {
            NHibernateItemStore his = new NHibernateItemStore();
            var search = await his.SearchItemAsync(value.searchItem);

            return(search);
        }
Example #2
0
        // search by category
        public List <SearchItemViewModel> GetSearchItemByCategory(int categoryId)
        {
            Connection.Open();

            string query = "SELECT ItemName,AvailableQuantity,ReorderLevel,CompanyName FROM Items, Company WHERE Items.CompanyId = Company.Id and Items.CategoryId = @categoryId";

            Command = new SqlCommand(query, Connection);
            Command.Parameters.Add("@categoryId", categoryId);
            Reader = Command.ExecuteReader();

            List <SearchItemViewModel> items = new List <SearchItemViewModel>();

            // for serial
            int count = 0;

            while (Reader.Read())
            {
                SearchItemViewModel itemViewModel = new SearchItemViewModel();

                count++;

                itemViewModel.SL                = count;
                itemViewModel.ItemName          = Reader["ItemName"].ToString();
                itemViewModel.AvailableQuantity = Convert.ToInt32(Reader["AvailableQuantity"]);
                itemViewModel.ReorderLevel      = Convert.ToInt32(Reader["ReorderLevel"]);
                itemViewModel.CompanyName       = Reader["CompanyName"].ToString();

                items.Add(itemViewModel);
            }

            Reader.Close();
            Connection.Close();

            return(items);
        }
Example #3
0
        public ActionResult SearchItemByCompanyOrCategory(SearchItemViewModel model)
        {
            if (Request.IsAuthenticated)
            {
                if (model.CompanyId == 0 && model.CategoryId == 0)
                {
                    ViewBag.Response = 0;
                    ViewBag.Items    = null;
                }
                else
                {
                    if (model.CompanyId != 0 && model.CategoryId != 0)
                    {
                        ViewBag.Items = itemManager.GetItemByCompanyAndCategory(model.CompanyId, model.CategoryId);
                    }
                    else if (model.CompanyId == 0 && model.CategoryId != 0)
                    {
                        ViewBag.Items = itemManager.GetItemByCategory(model.CategoryId);
                    }
                    else if (model.CompanyId != 0 && model.CategoryId == 0)
                    {
                        ViewBag.Items = itemManager.GetItemByCompany(model.CompanyId);
                    }
                }
                ViewBag.Categories = categoryManager.GetCategoriesForDropDown();
                ViewBag.Companies  = companyManager.GetCompaniesForDropDown();

                ModelState.Clear();
                return(View());
            }
            else
            {
                return(HttpNotFound());
            }
        }
Example #4
0
        private List <SearchItemViewModel> GetSearchItemList(string kw)
        {
            string        indexPath = @"d:\search_dir";
            List <string> list      = Common.WebCommon.PanGuSplitWord(kw); //对用户输入的搜索条件进行拆分。
            FSDirectory   directory = FSDirectory.Open(new DirectoryInfo(indexPath), new NoLockFactory());
            IndexReader   reader    = IndexReader.Open(directory, true);
            IndexSearcher searcher  = new IndexSearcher(reader);
            //搜索条件
            PhraseQuery queryTitle   = new PhraseQuery();
            PhraseQuery queryContent = new PhraseQuery();

            foreach (string word in list) //先用空格,让用户去分词,空格分隔的就是词“计算机   专业”
            {
                if (string.IsNullOrEmpty(word))
                {
                    continue;
                }
                queryTitle.Add(new Term("Title", word));
                queryContent.Add(new Term("Content", word));
//                query.Add(new Term("Title", word));
            }

            queryContent.Slop = 100;

            BooleanQuery query = new BooleanQuery();

            query.Add(queryTitle, Occur.SHOULD);
            query.Add(queryContent, Occur.SHOULD);

            //query.Add(new Term("body","语言"));--可以添加查询条件,两者是add关系.顺序没有关系.
            // query.Add(new Term("body", "大学生"));
            // query.Add(new Term("body", kw));//body中含有kw的文章
//            query.SetSlop(100);//多个查询条件的词之间的最大距离.在文章中相隔太远 也就无意义.(例如 “大学生”这个查询条件和"简历"这个查询条件之间如果间隔的词太多也就没有意义了。)
            //TopScoreDocCollector是盛放查询结果的容器
            TopScoreDocCollector collector = TopScoreDocCollector.Create(1000, true);

            searcher.Search(query, null, collector); //根据query查询条件进行查询,查询结果放入collector容器
            ScoreDoc[]
            docs = collector.TopDocs(0, collector.TotalHits)
                   .ScoreDocs;  //得到所有查询结果中的文档,GetTotalHits():表示总条数   TopDocs(300, 20);//表示得到300(从300开始),到320(结束)的文档内容.
            //可以用来实现分页功能
            List <SearchItemViewModel> viewModelList = new List <SearchItemViewModel>();

            for (int i = 0; i < docs.Length; i++)
            {
                //
                //搜索ScoreDoc[]只能获得文档的id,这样不会把查询结果的Document一次性加载到内存中。降低了内存压力,需要获得文档的详细内容的时候通过searcher.Doc来根据文档id来获得文档的详细内容对象Document.
                SearchItemViewModel viewModel = new SearchItemViewModel();
                int      docId = docs[i].Doc;                       //得到查询结果文档的id(Lucene内部分配的id)
                Document doc   = searcher.Doc(docId);               //找到文档id对应的文档详细信息
                viewModel.Id      = Convert.ToInt32(doc.Get("Id")); // 取出放进字段的值
                viewModel.Title   = WebCommon.CreateHightLight(kw, doc.Get("Title"));
                viewModel.Content =
                    WebCommon.CreateHightLight(kw, doc.Get("Content")); //将搜索的关键字高亮显示。
                viewModelList.Add(viewModel);
            }

            return(viewModelList);
        }
Example #5
0
        public SearchItemPage()
        {
            InitializeComponent();
            BindingContext = new SearchItemViewModel();

            _scanner = new MobileBarcodeScanner();

            StartScanner();
        }
Example #6
0
        public async Task <ActionResult> ItemSearch(SearchItemViewModel value)
        {
            var his = new NHibernateItemStore();

            value.searchItem = value.searchItem ?? "";
            var search = await his.SearchItemAsync(value.searchItem);

            ViewData["ItemImagePath"] = Config.GetAppSetting("ItemImagePath");
            return(PartialView(search));
        }
        public async Task <ActionResult> PRList(SearchItemViewModel value)
        {
            value.searchItem = value.searchItem ?? "";
            var nhpa = new NHibernatePRStore();
            IList <PRHeaderModel> searchPRs = null;

            try {
                searchPRs = await nhpa.SearchPRAsync(value.searchItem);
            } catch (Exception e) {
            }
            return(PartialView(searchPRs));
        }
    public void RegisterSearchEntry(NavigationMetaData metaData)
    {
        if (_categories.TryGetValue(metaData.Category, out var searchCategory))
        {
            var result = new SearchItemViewModel(this, metaData, searchCategory);

            _categorySources[searchCategory].Add(result);

            return;
        }

        throw new Exception("Category doesn't exist.");
    }
Example #9
0
        private SearchItemViewModel GetItems()
        {
            SearchItemViewModel model = new SearchItemViewModel();

            model.Companies.AddRange(GetCompanyList());
            model.CreatedBy.AddRange(GetCreatedByList());
            model.Experiences.AddRange(GetExperienceList());
            model.Locations.AddRange(GetLocationList());
            //  model.Roles.AddRange(GetRoleList());
            model.Salaries.AddRange(GetSalaryList());
            model.Statuses.AddRange(GetStatusList());
            model.Days.AddRange(GetDaysList());
            model.Industry.AddRange(GetIndustryList());
            return(model);
        }
        public IActionResult Clothes()
        {
            if (User.Identity.IsAuthenticated)
            {
                ViewBag.Id = _userManager.GetUserId(User);
            }
            ViewBag.Brands       = _context.Brands.ToList();
            ViewBag.UseWays      = _context.UseWays.ToList();
            ViewBag.WearProducts = _context.WearProducts.Include(current => current.Brand).Include(current => current.UseWay).ToList();

            SearchItemViewModel viewModel = new SearchItemViewModel();

            _logger.LogInformation($"Processing request {this.Request.Path} at {DateTime.Now:hh:mm:ss}");
            return(View(viewModel));
        }
Example #11
0
        public async Task <ActionResult> NonCatalogSearch(SearchItemViewModel value)
        {
            var his = new NHibernateNonCatalogStore();

            value.searchItem          = value.searchItem ?? "";
            ViewData["ItemImagePath"] = Config.GetAppSetting("ItemImagePath");
            int result;
            var isNumber = int.TryParse(value.searchItem, out result);
            IList <NonCatalogItemHeadModel> search = null;

            if (isNumber)
            {
                search = await his.FindIdNonCatalogHeadListAsync(result);
            }
            else
            {
                search = await his.SearchNonCatalogByNameAsync(value.searchItem);
            }
            return(PartialView(search));
        }
        public IActionResult SearchClothes(SearchItemViewModel viewModel)
        {
            List <WearProduct> list = new List <WearProduct>();

            list.AddRange(_context.WearProducts.Include(current => current.Brand).Include(current => current.UseWay)
                          .Where(o => (o.Brand.BrandName == viewModel.BrandName || viewModel.BrandName == "-") &&
                                 (o.UseWay.WayName == viewModel.UseWayName || viewModel.UseWayName == "-") &&
                                 (EF.Functions.Like(o.ModelName, $"%{viewModel.ProductName}%") || viewModel.ProductName == "") &&
                                 (o.Price >= viewModel.MinPrice && o.Price <= viewModel.MaxPrice))
                          .ToList());

            ViewBag.WearProducts = list;

            if (User.Identity.IsAuthenticated)
            {
                ViewBag.Id = _userManager.GetUserId(User);
            }
            ViewBag.Brands  = _context.Brands.ToList();
            ViewBag.UseWays = _context.UseWays.ToList();

            return(View("Clothes"));
        }
 public static SearchItemViewModel Create(ISessionItemViewModel vm)
 {
     var i = new SearchItemViewModel
     {
         Line1 = vm.Title,
         Line2 = vm.TimeAndRoom,
         Line3 = string.Empty,
         PhotoUrl = vm.Speaker.PhotoUrl,
         ViewModel = vm
     };
     return i;
 }
 public static SearchItemViewModel Create(ISpeakerItemViewModel vm)
 {
     var i = new SearchItemViewModel
     {
         Line1 = vm.Name,
         Line2 = vm.TwitterId,
         Line3 = vm.Website,
         PhotoUrl = vm.PhotoUrl,
         ViewModel = vm
     };
     return i;
 }
 public SearchItem()
 {
     InitializeComponent();
     vm = new SearchItemViewModel();
     this.BindingContext = vm;
 }
Example #16
0
        public SearchItemPage()
        {
            InitializeComponent();

            BindingContext = _viewModel = new SearchItemViewModel();
        }