예제 #1
0
 public ActionResult Index()
 {
     string Sql = "SELECT * FROM TB_PRODUCT P ORDER BY (SELECT SUM(NUM) FROM TB_CONTAINS GROUP BY S_ID,P_ID HAVING S_ID = P.S_ID AND P_ID = P.ID) DESC";
     List<TB_PRODUCT> hot_products = db.Database.SqlQuery<TB_PRODUCT>(Sql).ToList();
     int min_num = Math.Min(8, hot_products.Count);
     int num = 0;
     int i = 0;
     while (num < min_num && i < hot_products.Count)
     {
         TB_PRODUCT temp_product = hot_products[i];
         string Sql2 = "SELECT COUNT(*) FROM TB_CONTAINS WHERE S_ID = " + temp_product.S_ID.ToString() + "AND P_ID = " + temp_product.ID.ToString();
         var list = db.TB_CONTAINS.Where(a => a.P_ID == temp_product.ID && a.S_ID == temp_product.S_ID).ToList();
         if (list.Count > 0)
         {
             HotProductView product = new HotProductView();
             product.name = temp_product.NAME;
             product.price = temp_product.PRICE;
             product.id = (int?)temp_product.ID;
             product.s_id = (int?)temp_product.S_ID;
             Pro_pics pics = new Pro_pics();
             TB_PRO_PIC pic = pics.TB_PRO_PIC.Where(a => a.P_ID == temp_product.ID && a.S_ID == temp_product.S_ID).FirstOrDefault();
             if (pic != null)
             {
                 product.picture = pic.PICTURE;
             }
             hot_product_models.Add(product);
             num--;
         }
         else
         {
             min_num--;
             min_num = Math.Min(min_num, 8);
         }
         i++;
     }
     return View(hot_product_models);
 }
        // GET: StoreShow
        public ActionResult Index(int? store_id)
        {
            string Sql = "SELECT ID,NAME,TYPE,FILE_NAME FROM TB_STORE NATURAL JOIN TB_STORE_TYPE NATURAL JOIN TB_DECORATION WHERE ID= " + store_id.ToString();
            List<StoreMes> storemess = db.Database.SqlQuery<StoreMes>(Sql).ToList();
            IndexModel.name = storemess.First().NAME;
            IndexModel.filename = storemess.First().FILE_NAME;
            IndexModel.types = new List<string>();
            foreach (StoreMes item in storemess)
            {
                IndexModel.types.Add(item.TYPE);
            }
            IndexModel.store_id = store_id;

            string SqlString = "SELECT * FROM TB_PRODUCT P WHERE P.S_ID = " + store_id.ToString() + "ORDER BY (SELECT SUM(NUM) FROM TB_CONTAINS GROUP BY S_ID,P_ID HAVING S_ID = P.S_ID AND P_ID = P.ID) DESC";
            List<TB_PRODUCT> hot_products = db.Database.SqlQuery<TB_PRODUCT>(SqlString).ToList();
            int min_num = Math.Min(4, hot_products.Count);
            int num = 0;
            int i = 0;
            while (num < min_num && i < hot_products.Count)
            {
                TB_PRODUCT temp_product = hot_products[i];
                string Sql2 = "SELECT COUNT(*) FROM TB_CONTAINS WHERE S_ID = " + temp_product.S_ID.ToString() + "AND P_ID = " + temp_product.ID.ToString();
                var list = db2.TB_CONTAINS.Where(a => a.P_ID == temp_product.ID && a.S_ID == temp_product.S_ID).ToList();
                if (list.Count > 0)
                {
                    HotProductView product = new HotProductView();
                    product.name = temp_product.NAME;
                    product.price = temp_product.PRICE;
                    product.s_id = (int?)temp_product.S_ID;
                    product.id = (int?)temp_product.ID;
                    Pro_pics pics = new Pro_pics();
                    TB_PRO_PIC pic = pics.TB_PRO_PIC.Where(a => a.P_ID == temp_product.ID && a.S_ID == temp_product.S_ID).FirstOrDefault();
                    if (pic != null)
                    {
                        product.picture = pic.PICTURE;
                    }
                    hot_product_models.Add(product);
                    num--;
                }
                else
                {
                    min_num--;
                    min_num = Math.Min(min_num, 4);
                }
                i++;
            }
            IndexModel.hot_products = hot_product_models;
            IndexModel.low_products = db.Database.SqlQuery<TB_PRODUCT>("SELECT * FROM TB_PRODUCT WHERE S_ID = " + store_id.ToString() + "AND DISCOUNT_RATE < 0.5").ToList();
            IndexModel.high_products = db.Database.SqlQuery<TB_PRODUCT>("SELECT * FROM TB_PRODUCT WHERE S_ID = " + store_id.ToString() + "AND DISCOUNT_RATE < 1 AND DISCOUNT_RATE > 0.5").ToList();
            return View(IndexModel);
        }
        public ActionResult AllStoreShow(string keyString)
        {
            keyString = Request.Form["keyString"];
            List<AllStoreViewModel> models = new List<AllStoreViewModel>();
            foreach (TB_STORE store in db.TB_STORE.Where(a => a.NAME.Contains(keyString)).ToList())
            {
                AllStoreViewModel item = new AllStoreViewModel();
                item.store_name = store.NAME;
                item.rank = (int?)store.QUALITY_RATING;
                item.store_id = (int?)store.ID;
                List<ProductWithPicture_2_0> products = new List<ProductWithPicture_2_0>();
                Products p_db = new Products();
                foreach (TB_PRODUCT temp_item in p_db.TB_PRODUCT.Where(a => a.S_ID == store.ID).ToList())
                {
                    ProductWithPicture_2_0 pwp = new ProductWithPicture_2_0();
                    Pro_pics pic_db = new Pro_pics();
                    pwp.product = temp_item;

                    TB_PRO_PIC pic = pic_db.TB_PRO_PIC.Where(a => a.P_ID == temp_item.ID && a.S_ID == temp_item.S_ID).First();
                    if (pic != null)
                    {
                        pwp.PICTURE = pic.PICTURE;
                    }
                    products.Add(pwp);
                }

                item.products = new List<ProductWithPicture_2_0>();
                int i = 0;
                while (i < 5 && i < products.Count)
                {
                    item.products.Add(products[i]);
                    i++;
                }
                models.Add(item);
            }
            ViewData["StoreKeyString"] = "所有";
            return View(models);
        }