Ejemplo n.º 1
0
        /// <summary>
        /// 匯出
        /// </summary>
        /// <returns></returns>
        public HttpResponseBase ProductDetailExport()
        {
            string json = "false";
            ProductQuery query = new ProductQuery();
            _productMgr = new ProductMgr(connectionString);
            if (!string.IsNullOrEmpty(Request.Params["vendor_id"]))
            {
                query.Vendor_Id = uint.Parse(Request.Params["vendor_id"]);
            }
            if (!string.IsNullOrEmpty(Request.Params["brand_id"]))
            {
                query.Brand_Id = uint.Parse(Request.Params["brand_id"]);
            }
            if (!string.IsNullOrEmpty(Request.Params["product_status"]))
            {
                query.Product_Status = uint.Parse(Request.Params["product_status"]);
            }
            else
            {
                query.Product_Status = 999;//未選擇商品狀態
            }
            if (!string.IsNullOrEmpty(Request.Params["creater"]))
            {
                query.create_username = Request.Params["creater"];
            }
            if (!string.IsNullOrEmpty(Request.Params["timestart"]))
            {
                query.time_start = Convert.ToDateTime(Request.Params["timestart"]);
            }
            if (!string.IsNullOrEmpty(Request.Params["timeend"]))
            {
                query.time_end = Convert.ToDateTime(Request.Params["timeend"]);
            }
            if (!string.IsNullOrEmpty(Request.Params["search_content"]))
            {
                //支持空格,中英文逗號隔開
                string content = Regex.Replace(Request.Params["search_content"].Trim(), "(\\s+)|(,)|(\\,)", ",");
                string[] contents = content.Split(',');
                int pid = 0;
                for (int i = 0; i < contents.Length; i++)
                {
                    if (!string.IsNullOrEmpty(contents[i].Trim()))
                    {
                        if (query.pids == "" && query.Product_Name == "")
                        {
                            if (int.TryParse(contents[i], out pid))
                            {
                                query.pids += Regex.Replace(contents[i].Trim(), "(\\s+)|(,)|(\\,)", ",");
                            }
                            else
                            {
                                query.Product_Name += Regex.Replace(contents[i].Trim(), "(\\s+)|(,)|(\\,)", ",");
                            }
                        }
                        else
                        {
                            if (int.TryParse(contents[i], out pid))
                            {
                                query.pids += "," + Regex.Replace(contents[i].Trim(), "(\\s+)|(,)|(\\,)", ",");
                            }
                            else
                            {
                                query.Product_Name += "," + Regex.Replace(contents[i].Trim(), "(\\s+)|(,)|(\\,)", ",");
                            }
                        }
                    }
                    else
                    {
                        continue;
                    }

                }
            }
            string status = Request.Params["status"];
            //判斷是不是已編輯
            if (status == "0")
            {
                query.product_detail_text = string.Empty;
            }
            else if (status == "1")
            {
                query.product_detail_text = "1";
            }
            else if (status == "2")
            {
                query.product_detail_text = "2";
            }
            if (!string.IsNullOrEmpty(Request.Params["combination"]))
            {
                query.Combination = uint.Parse(Request.Params["combination"]);
            }
            #region 供應商狀態、品牌狀態
            if (!string.IsNullOrEmpty(Request.Params["vendorState"]))
            {
                query.vendor_status = Convert.ToInt32(Request.Params["vendorState"]);
            }
            if (!string.IsNullOrEmpty(Request.Params["brandState"]))
            {
                query.brand_status = Convert.ToInt32(Request.Params["brandState"]);
            }
            #endregion
            query.IsPage = false;

            DataTable dtHZ = new DataTable();

            string newExcelName = string.Empty;
            dtHZ.Columns.Add("供應商編號", typeof(String));
            dtHZ.Columns.Add("供應商名稱", typeof(String));
            dtHZ.Columns.Add("品牌名稱", typeof(String));
            dtHZ.Columns.Add("商品編號", typeof(String));
            dtHZ.Columns.Add("商品名稱", typeof(String));
            dtHZ.Columns.Add("建立人", typeof(String));
            dtHZ.Columns.Add("建立時間", typeof(String));
            dtHZ.Columns.Add("修改人", typeof(String));
            dtHZ.Columns.Add("修改時間", typeof(String));
            try
            {
                int totalCount = 0;
                DataTable dt = _productMgr.GetProductList(query, out totalCount);

                foreach (DataRow dr_v in dt.Rows)
                {
                    DataRow dr = dtHZ.NewRow();
                    dr[0] = dr_v["vendor_id"].ToString();
                    dr[1] = dr_v["vendor_name_full"].ToString();
                    dr[2] = dr_v["brand_name"].ToString();
                    dr[3] = dr_v["product_id"].ToString();
                    dr[4] = dr_v["product_name"].ToString();
                    dr[5] = dr_v["create_username"].ToString();
                    dr[6] = dr_v["detail_createdate"].ToString();
                    dr[7] = dr_v["update_username"].ToString();
                    dr[8] = dr_v["detail_updatedate"].ToString();

                    dtHZ.Rows.Add(dr);
                }
                string[] colname = new string[dtHZ.Columns.Count];
                string filename = "product_detail" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; ;
                newExcelName = Server.MapPath(excelPath_export) + filename;
                for (int i = 0; i < dtHZ.Columns.Count; i++)
                {
                    colname[i] = dtHZ.Columns[i].ColumnName;
                }

                if (System.IO.File.Exists(newExcelName))
                {
                    System.IO.File.Delete(newExcelName);
                }

                ExcelHelperXhf.ExportDTtoExcel(dtHZ, "", newExcelName);
                //CsvHelper.ExportDataTableToCsv(dtHZ, newExcelName, colname, true);
                json = "{success:true,ExcelName:\'" + filename + "\'}";
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);

            }
            this.Response.Clear();
            this.Response.Write(json);
            this.Response.End();
            return this.Response;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 列表頁
        /// </summary>
        /// <returns></returns>
        public HttpResponseBase GetProductList()
        {
            ProductQuery query = new ProductQuery();
            string json = string.Empty;
            try
            {
                int totalCount = 0;
                query.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量
                query.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");//用於分頁的變量
                _productMgr = new ProductMgr(connectionString);
                if (!string.IsNullOrEmpty(Request.Params["vendor_id"]))
                {
                    query.Vendor_Id = uint.Parse(Request.Params["vendor_id"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["brand_id"]))
                {
                    query.Brand_Id = uint.Parse(Request.Params["brand_id"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["product_status"]))
                {
                    query.Product_Status = uint.Parse(Request.Params["product_status"]);
                }
                else
                {
                    query.Product_Status = 999;//未選擇商品狀態
                }
                if (!string.IsNullOrEmpty(Request.Params["creater"]))
                {
                    query.create_username = Request.Params["creater"];
                }
                if (!string.IsNullOrEmpty(Request.Params["timestart"]))
                {
                    query.time_start = Convert.ToDateTime(Request.Params["timestart"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["timeend"]))
                {
                    query.time_end = Convert.ToDateTime(Request.Params["timeend"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["search_content"]))
                {
                    //支持空格,中英文逗號隔開
                    string content = Regex.Replace(Request.Params["search_content"].Trim(), "(\\s+)|(,)|(\\,)", ",");
                    string[] contents = content.Split(',');
                    int pid = 0;
                    for (int i = 0; i < contents.Length; i++)
                    {
                        if (!string.IsNullOrEmpty(contents[i].Trim()))
                        {
                            if (query.pids == "" && query.Product_Name == "")
                            {
                                if (int.TryParse(contents[i], out pid))
                                {
                                    query.pids += Regex.Replace(contents[i].Trim(), "(\\s+)|(,)|(\\,)", ",");
                                }
                                else
                                {
                                    query.Product_Name += Regex.Replace(contents[i].Trim(), "(\\s+)|(,)|(\\,)", ",");
                                }
                            }
                            else
                            {
                                if (int.TryParse(contents[i], out pid))
                                {
                                    query.pids += "," + Regex.Replace(contents[i].Trim(), "(\\s+)|(,)|(\\,)", ",");
                                }
                                else
                                {
                                    query.Product_Name += "," + Regex.Replace(contents[i].Trim(), "(\\s+)|(,)|(\\,)", ",");
                                }
                            }
                        }
                        else
                        {
                            continue;
                        }

                    }
                }
                string status = Request.Params["status"];
                //判斷是不是已編輯
                if (status == "0")
                {
                    query.product_detail_text = string.Empty;
                }
                else if (status == "1")
                {
                    query.product_detail_text = "1";
                }
                else if (status == "2")
                {
                    query.product_detail_text = "2";
                }
                if (!string.IsNullOrEmpty(Request.Params["combination"]))
                {
                    // Convert.ToUInt32(Request.Params["combination"]) != 0
                    query.Combination = uint.Parse(Request.Params["combination"]);
                }
                #region 供應商狀態、品牌狀態
                if (!string.IsNullOrEmpty(Request.Params["vendorState"]))
                {
                    query.vendor_status = Convert.ToInt32(Request.Params["vendorState"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["brandState"]))
                {
                    query.brand_status = Convert.ToInt32(Request.Params["brandState"]);
                }
                #endregion
                DataTable dt = _productMgr.GetProductList(query, out totalCount);
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式     
                timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";

                //listUser是准备转换的对象
                json = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(dt, Formatting.Indented, timeConverter) + "}";//返回json數據

            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                json = "{success:true,totalCount:0,data:[]}";
            }
            this.Response.Clear();
            this.Response.Write(json);
            this.Response.End();
            return this.Response;
        }