// POST api/<controller> public async Task <IList <ItemModel> > Post(SearchItemViewModel value) { NHibernateItemStore his = new NHibernateItemStore(); var search = await his.SearchItemAsync(value.searchItem); return(search); }
// 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); }
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()); } }
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); }
public SearchItemPage() { InitializeComponent(); BindingContext = new SearchItemViewModel(); _scanner = new MobileBarcodeScanner(); StartScanner(); }
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."); }
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)); }
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; }
public SearchItemPage() { InitializeComponent(); BindingContext = _viewModel = new SearchItemViewModel(); }