コード例 #1
0
ファイル: HelpDialog.xaml.cs プロジェクト: taha-islam/XTMF
 private void UpdateSearch(bool async)
 {
     //search
     try
     {
         string text = null;
         Dispatcher.Invoke(() =>
         {
             text = SearchBox.Text;
         });
         Regex searchFor = new Regex(text, RegexOptions.IgnoreCase);
         var   loadTask  = Task.Run(() =>
         {
             try
             {
                 var results = ((from module in Config.ModelRepository.AsParallel()
                                 where searchFor.IsMatch(module.FullName)
                                 select new ContentReference(module.FullName, module))).OrderBy(c => c.ToString()).ToArray();
                 Dispatcher.BeginInvoke(new Action(() =>
                 {
                     SearchedItems.Clear();
                     foreach (var result in results)
                     {
                         SearchedItems.Add(result);
                     }
                 }));
             }
             catch (Exception error)
             {
                 Dispatcher.BeginInvoke(new Action(() =>
                 {
                     MessageBox.Show(error.Message);
                 }));
             }
         });
         if (!async)
         {
             loadTask.Wait();
         }
     }
     catch
     {
     }
 }
コード例 #2
0
ファイル: HelpDialog.xaml.cs プロジェクト: taha-islam/XTMF
 public void SelectModuleContent(ModelSystemStructureModel module)
 {
     Task.Run(() =>
     {
         if (module != null)
         {
             var type = module.Type;
             var selectCorrectDocument = Task.Run(() =>
             {
                 UpdateSearch(false);
                 Dispatcher.BeginInvoke(new Action(() =>
                 {
                     var foundElement = SearchedItems.FirstOrDefault(element => element.Module == type);
                     if (foundElement != null)
                     {
                         ResultBox.SelectedItem = foundElement;
                     }
                 }));
             });
             OperationProgressing progressing = null;
             Dispatcher.Invoke(new Action(() =>
             {
                 progressing = new OperationProgressing()
                 {
                     Owner = MainWindow.Us
                 };
             }));
             Dispatcher.BeginInvoke(new Action(() =>
             {
                 progressing.ShowDialog();
             }));
             selectCorrectDocument.Wait();
             Dispatcher.BeginInvoke(new Action(() =>
             {
                 progressing.Close();
             }));
         }
     });
 }
コード例 #3
0
        public ActionResult SearchItemByCustomer(string search, int?pageNo, string filter)
        {
            if (filter == null && TempData["pricefilter"] != null)
            {
                filter = TempData["pricefilter"].ToString();
            }
            TempData.Remove("filter");

            TempData.Remove("category");
            if (TempData["search"] != null)
            {
                search = TempData["Search"].ToString();
            }

            int pageNumber;

            if (TempData["PageNumberSearch"] == null)
            {
                Debug.WriteLine("EnteredSearch");
                pageNumber = 1;
                TempData["PageNumberSearch"] = 1;
            }
            else
            {
                if (pageNo == 1)
                {
                    pageNumber = Convert.ToInt32(TempData["PageNumberSearch"]) + 1;
                    TempData["PageNumberSearch"] = pageNumber;
                }
                else if (pageNo == -1)
                {
                    pageNumber = Convert.ToInt32(TempData["PageNumberSearch"]) - 1;
                    TempData["PageNumberSearch"] = pageNumber;
                }
                else
                {
                    pageNumber = 1;
                    TempData["PageNumberSearch"] = pageNumber;
                }
            }

            if (pageNumber < 1)
            {
                pageNumber = 1;
                TempData["PageNumberSearch"] = 1;
            }
            pageNumber = (pageNumber - 1) * pageSize;
            IEnumerable <Item> SearchedItems;

            if (filter != null)
            {
                if (filter == "1")
                {
                    TempData["pricefilter"] = "1";
                    SearchedItems           = _context.Items.Where(c => c.ItemName.Contains(search)).OrderByDescending(item => item.Price).Skip(pageNumber).Take(pageSize).ToList();
                }
                else
                {
                    TempData["pricefilter"] = "2";
                    SearchedItems           = _context.Items.Where(c => c.ItemName.Contains(search)).OrderBy(item => item.Price).Skip(pageNumber).Take(pageSize).ToList();
                }
            }
            else
            {
                SearchedItems = _context.Items.Where(c => c.ItemName.Contains(search)).OrderBy(item => item.Id).Skip(pageNumber).Take(pageSize).ToList();
            }
            if (SearchedItems.Any() == false)
            {
                return(View("ProductSearchEnded"));
            }
            TempData["search"] = search;
            TempData.Keep();
            return(View(SearchedItems));
        }