コード例 #1
0
        public ViewResultBase Search(string q, int? page)
        {
            q = q.ToUpper();

            List<CoffeeInvoice.Models.ViewModel.ProductViewModel> productsVM = new List<Models.ViewModel.ProductViewModel>();
            if (Session["LoginUser"] != null)
            {
                User user = (User)Session["LoginUser"];
                var products = db.Products.Where(x => x.UserID == user.UserID).OrderBy(x => x.ProductID).ToList();
                foreach (var pro in products)
                {
                    CoffeeInvoice.Models.ViewModel.ProductViewModel proVM = new Models.ViewModel.ProductViewModel();

                    proVM.ProductID = pro.ProductID;
                    proVM.ProductName = pro.ProductName;

                    string r = string.Empty;

                    foreach (char obj in proVM.ProductName)
                    {
                        try
                        {
                            ChineseChar chineseChar = new ChineseChar(obj);
                            string t = chineseChar.Pinyins[0].ToString();
                            r += t.Substring(0, 1);
                        }
                        catch
                        {
                            r += obj.ToString();
                        }
                    }

                    if (q.Length == 1)//alphabetical search, first letter
                    {
                        ViewBag.LetraAlfabetica = q;
                        if (r.StartsWith(q) || proVM.ProductName.ToUpper().StartsWith(q))
                        {
                            proVM.Provider = pro.Provider;
                            proVM.ProviderID = pro.ProviderID;
                            proVM.Price = pro.Price;
                            proVM.CNYSellPrice = pro.CNYSellPrice;
                            proVM.CNYPrice = pro.Price * AUDCNYRate;
                            proVM.UserID = pro.UserID;
                            productsVM.Add(proVM);
                        }
                    }
                    else if (q.Length > 1)
                    {
                        //normal search
                        if (r.IndexOf(q) > -1 || proVM.ProductName.ToUpper().IndexOf(q) >-1)
                        {
                            proVM.Provider = pro.Provider;
                            proVM.ProviderID = pro.ProviderID;
                            proVM.Price = pro.Price;
                            proVM.CNYSellPrice = pro.CNYSellPrice;
                            proVM.CNYPrice = pro.Price * AUDCNYRate;
                            proVM.UserID = pro.UserID;
                            productsVM.Add(proVM);
                        }
                    }
                }
            }

            int currentPageIndex = page.HasValue ? page.Value - 1 : 0;

            var productsListPaged = productsVM.ToPagedList(currentPageIndex, defaultPageSize);

            if (Request.IsAjaxRequest())
            {
                return PartialView("Index", productsListPaged);
            }
            else
                return View("Index",productsListPaged);
        }
コード例 #2
0
        public ViewResult Index(int? page)
        {
            CurrencyConvertYahooController rateController = new CurrencyConvertYahooController();
            _rate = rateController.ConvertCurrency("AUD", "CNY", 1);

            var productsVM = new List<CoffeeInvoice.Models.ViewModel.ProductViewModel>();

            if (Session["LoginUser"] != null)
            {
                User user = (User)Session["LoginUser"];
                var products = db.Products.OrderBy(i => i.ProductName).Include("Provider").ToList();
                products = products.Where(x => x.UserID == user.UserID).ToList();
                foreach (var pro in products)
                {
                    CoffeeInvoice.Models.ViewModel.ProductViewModel proVM = new Models.ViewModel.ProductViewModel();

                    proVM.ProductID = pro.ProductID;
                    proVM.ProductName = pro.ProductName;
                    proVM.Provider = pro.Provider;
                    proVM.ProviderID = pro.ProviderID;
                    proVM.Price = pro.Price;
                    proVM.CNYSellPrice = pro.CNYSellPrice;
                    proVM.CNYPrice = pro.Price * AUDCNYRate;
                    proVM.UserID = pro.UserID;

                    if (db.PurchaseProducts.Where(x => x.ProductID == pro.ProductID).Count() > 0)
                    {
                        proVM.IsProductPurchased = true;
                    }
                    else
                        proVM.IsProductPurchased = false;

                    productsVM.Add(proVM);
                }
            }

            int currentPageIndex = page.HasValue ? page.Value - 1 : 0;

            var productsListPaged = productsVM.ToPagedList(currentPageIndex, defaultPageSize);
            return View(productsListPaged);
        }