// 取得某產品分類下所有被啟用的產品列表 Api
        public ActionResult getProductData(string appSer)
        {
            System.Diagnostics.Debug.WriteLine("[Get] GetProductData AppSer >>> " + appSer);

            // 將 arrayList 掛到 files 底下, 並轉成json回傳前端
            Hashtable myHT = new Hashtable();

            // 1. 先撈資料庫 File Table 的資料 (SQL)
            //----> 程式碼
            Models.ShopCarDatasetTableAdapters.Product_PhotoTableAdapter photoadp = new Models.ShopCarDatasetTableAdapters.Product_PhotoTableAdapter();
            DataTable dt = photoadp.GetPhotoList(Convert.ToInt32(appSer));

            ArrayList list = new ArrayList();
            // 2. 使用迴圈將每一筆 row 取出
            foreach (DataRow drow in dt.Rows)
            {
                var fileItem = new ViewDataUploadFilesResult();
                fileItem.name = wf.tos(drow["file_name"]);
                fileItem.size = wf.toi(drow["file_size"]);
                fileItem.contentType = wf.tos(drow["content_type"]);
                fileItem.url = wf.tos(drow["download_url"]);
                fileItem.deleteUrl = wf.tos(drow["delete_url"]); //"/Product/Delete?id=" + appSer; // file table的 App_Ser
               // fileItem.thumbnailUrl = @"data:image/png;base64," + EncodeFile(wf.tos(drow["thumbnail_url"]));
                fileItem.deleteType = wf.tos(drow["delete_type"]);
                list.Add(fileItem);
            }
            myHT.Add("files", list);

            // 1. 資料庫連線
            SqlConnection cn = new SqlConnection(_connectionString);

            // 2. SQL 指令
            string sql = "select a.app_ser,a.ProductID as prod_no,a.ProName as prod_name,a.pro_desc as prod_desc, a.prod_price, a.prod_special_price, a.prod_feature, b.pro_class_name from product a left join Product_Class b on a.prod_class_id=b.app_ser where a.pro_active='on' and a.app_ser=@id";
            //string sql = "select app_ser,ProductID,ProName,'' as prod_desc,SalePrice,'' as prod_special_price,'' as prod_feature,'' as prod_class from product";
            cn.Open();
            SqlCommand comm = new SqlCommand(sql, cn);
            comm.Parameters.Clear();
            comm.Parameters.AddWithValue("@id", appSer);

            // 2. SqlDataAdapter & DataSet
            DataSet ds = new DataSet();
            using (cn)
            {
                SqlDataAdapter adapter = new SqlDataAdapter(comm);
                adapter.Fill(ds);
                DataTable myDataTable = ds.Tables[0];
                cn.Close();
                cn.Dispose();

                myHT.Add("productItem", myDataTable);

                string obj_json = JsonConvert.SerializeObject(myHT);
                return Content(obj_json, "application/json");

            }
        }
        public ActionResult GetFileList(string appSer)
        {
            System.Diagnostics.Debug.WriteLine("[Get] UploadFiles AppSer >>> " + appSer);
            ArrayList list = new ArrayList();

            // 1. 先撈資料庫 File Table 的資料 (SQL)
            //----> 程式碼
            Models.ShopCarDatasetTableAdapters.Product_PhotoTableAdapter photoadp = new Models.ShopCarDatasetTableAdapters.Product_PhotoTableAdapter();
            DataTable dt = photoadp.GetPhotoList(Convert.ToInt32(appSer));

            // 2. 取得DataSet中的 DataTabe資訊
            //----> 程式碼

            // 3. 使用迴圈將每一筆 row 取出
            foreach (DataRow drow in dt.Rows)
            {
            //  ----> 新增每一個 statuses 將取出的row 資料塞入

            var statuses = new ViewDataUploadFilesResult();
            statuses.name = wf.tos(drow["file_name"]);
            statuses.size =wf.toi(drow["file_size"]);
            statuses.contentType = wf.tos(drow["content_type"]);
            statuses.url = wf.tos(drow["download_url"]);
            statuses.deleteUrl = wf.tos(drow["delete_url"]); //"/Product/Delete?id=" + appSer; // file table的 App_Ser
            //statuses.thumbnailUrl = @"data:image/png;base64," + EncodeFile(wf.tos(drow["thumbnail_url"]));
            statuses.deleteType = wf.tos(drow["delete_type"]);
            list.Add(statuses);

            //var statuses2 = new ViewDataUploadFilesResult();
            //statuses2.name = "09.jpg";
            //statuses2.size = 123456;
            //statuses2.contentType = "image/jpeg";
            //statuses2.url = "/Files/09.jpg";
            //statuses2.deleteUrl = "/Product/Delete?id=" + "123455"; // file table的 App_Ser
            //statuses2.thumbnailUrl = "/Files/09.jpg";
            //statuses2.deleteType = "GET";
            //list.Add(statuses2);

            }

            // 將 arrayList 掛到 files 底下, 並轉成json回傳前端
            Hashtable myHT = new Hashtable();
            myHT.Add("files", list);

            return Json(myHT, JsonRequestBehavior.AllowGet);
        }