public ProductItemMgr(string connectionStr) { this.connectionStr = connectionStr; _productItemDao = new ProductItemDao(connectionStr); _serialMgr = new SerialMgr(connectionStr); productItemDao = new ProductItemDao(connectionStr); _functionMgr = new FunctionMgr(connectionStr); }
public UsersMgr(string connectionString) { _usersDao = new UsersDao(connectionString); _serialImplMgr = new SerialMgr(connectionString); }
public HttpResponseBase specTempSave() { string resultStr = "{success:true}"; bool result = true; try { Caller _caller = (Session["caller"] as Caller); string specType = Request.Params["specType"]; string spec1Name = Request.Params["spec1Name"]; string spec1Result = Request.Params["spec1Result"]; string spec2Name = ""; string spec2Result; _specMgr = new ProductSpecMgr(connectionString); _specTempMgr = new ProductSpecTempMgr(connectionString); _productTempMgr = new ProductTempMgr(connectionString); _productItemMgr = new ProductItemMgr(connectionString); _productItemTempMgr = new ProductItemTempMgr(connectionString); _serialMgr = new SerialMgr(connectionString); if (!string.IsNullOrEmpty(Request.Params["ProductId"])) { uint proId = uint.Parse(Request.Params["ProductId"]); _functionMgr = new FunctionMgr(connectionString); string function = Request.Params["function"] ?? ""; Function fun = _functionMgr.QueryFunction(function, "/Product/ProductSave"); int functionid = fun == null ? 0 : fun.RowId; HistoryBatch batch = new HistoryBatch { functionid = functionid }; batch.batchno = Request.Params["batch"] ?? ""; batch.kuser = (Session["caller"] as Caller).user_email; #region 正式表修改 List<ProductSpec> spec1List = null; List<ProductSpec> spec2List = null; List<ProductSpec> specUpdateList = new List<ProductSpec>(); List<ProductSpec> specAddList = new List<ProductSpec>(); JavaScriptSerializer jss = new JavaScriptSerializer(); spec1List = jss.Deserialize<List<ProductSpec>>(spec1Result); if (spec1List != null) { //規格一處理 spec1List.ForEach(m => { m.product_id = proId; m.spec_type = 1; if (m.spec_id != 0) { specUpdateList.Add(m); } else { specAddList.Add(m); } }); } //規格二處理 if (specType.Equals("2")) { spec2Name = Request.Params["spec2Name"]; spec2Result = Request.Params["spec2Result"]; spec2List = jss.Deserialize<List<ProductSpec>>(spec2Result); spec2List.ForEach(m => { m.product_id = proId; m.spec_type = 2; if (m.spec_id != 0) { specUpdateList.Add(m); } else { specAddList.Add(m); } }); } Product proModel = new Product(); _productMgr = new ProductMgr(connectionString); _tableHistoryMgr = new TableHistoryMgr(connectionString); proModel = _productMgr.Query(new Product { Product_Id = proId }).FirstOrDefault(); proModel.Spec_Title_1 = spec1Name; proModel.Spec_Title_2 = spec2Name; if (specUpdateList.Count() > 0) { for (int i = 0, j = specUpdateList.Count(); i < j; i++) { ArrayList sqls = new ArrayList(); sqls.Add(_specMgr.Update(specUpdateList[i])); if (i == 0) { sqls.Add(_productMgr.Update(proModel)); } if (!_tableHistoryMgr.SaveHistory<ProductSpec>(specUpdateList[i], batch, sqls)) { result = false; } } } if (specAddList.Count() > 0) { List<ProductItem> saveItemList = new List<ProductItem>(); List<ProductSpec> spec1ExistList = spec1List.Where(m => m.spec_id != 0).ToList(); //規格一中原本就存在的規格 specAddList.ForEach(p => p.spec_id = uint.Parse(_serialMgr.NextSerial(18).ToString())); ProductItem saveTemp; List<PriceMaster> list_price = new List<PriceMaster>(); PriceMasterMgr pm = new PriceMasterMgr(connectionString); list_price = pm.GetPriceMasterInfoByID2(proId.ToString());//獲取同一個ID下其他產品的價格信息 PriceMaster _p = list_price.FirstOrDefault();//add by wangwei0216w 2014/9/19 獲取同一個ID下其他產品的信息 //List<ProductItem> pro_list = new List<ProductItem>(); //ProductItemMgr pig = new ProductItemMgr(connectionString); //pro_list = pig.GetProductItemByID(Convert.ToInt32(proId)); //ProductItem _product = pro_list.FirstOrDefault();//獲取同一個ID下其他產品的信息 foreach (var m in specAddList) { if (specType.Equals("1")) { if (m.spec_type == 1) { saveTemp = new ProductItem(); if (_p.same_price == 1) //add by wangwei 0216w 2014/9/19 如果同價 就將價格賦予新增規格 { //saveTemp.Item_Cost = Convert.ToUInt32(_p.cost); //saveTemp.Item_Money = Convert.ToUInt32(_p.price); } else { resultStr = "{success:true,Msg:true}"; } saveTemp.Spec_Id_1 = m.spec_id; saveTemp.Product_Id = proId; // saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveItemList.Add(saveTemp); } else { saveTemp = new ProductItem(); if (_p.same_price == 1) //add by wangwei 0216w 2014/9/19 如果同價 就將價格賦予新增規格 { //saveTemp.Item_Cost = Convert.ToUInt32(_p.cost); //saveTemp.Item_Money = Convert.ToUInt32(_p.price); } else { resultStr = "{success:true,Msg:true}"; } saveTemp.Spec_Id_2 = m.spec_id; saveTemp.Product_Id = proId; //saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveItemList.Add(saveTemp); } } else { if (m.spec_type == 1) { foreach (ProductSpec item in spec2List) { saveTemp = new ProductItem(); if (_p.same_price == 1) //add by wangwei 0216w 2014/9/19 如果同價 就將價格賦予新增規格 { //saveTemp.Item_Cost = Convert.ToUInt32(_p.cost); //saveTemp.Item_Money = Convert.ToUInt32(_p.price); } else { resultStr = "{success:true,Msg:true}"; } saveTemp.Spec_Id_1 = m.spec_id; saveTemp.Spec_Id_2 = item.spec_id; //saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveTemp.Product_Id = proId; saveItemList.Add(saveTemp); } } else { foreach (ProductSpec item2 in spec1ExistList) { saveTemp = new ProductItem(); if (_p.same_price == 1) //add by wangwei 0216w 2014/9/19 如果同價 就將價格賦予新增規格 { //saveTemp.Item_Cost = Convert.ToUInt32(_p.cost); //saveTemp.Item_Money = Convert.ToUInt32(_p.price); } else { resultStr = "{success:true,Msg:true}"; } saveTemp.Spec_Id_1 = item2.spec_id; saveTemp.Spec_Id_2 = m.spec_id; //saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveTemp.Product_Id = proId; saveItemList.Add(saveTemp); } } } } _specMgr.Save(specAddList); _productItemMgr.Save(saveItemList); ProductItem pro; if (proModel.Product_Status != 0) //add by wangwei0216w 2014/9/18 作用:將Export_flag的值設置為1 { pro = new ProductItem() { Product_Id = proModel.Product_Id, Export_flag = 1 }; _productItemMgr.UpdateExportFlag(pro); } if (result) //如果之前保存規格,插入臨時表登操作有誤,則不執行插入itemprice的操作 { List<ProductItem> item_list = _productItemMgr.GetProductNewItem_ID(Convert.ToInt32(proModel.Product_Id)); //得到product_item的新增ID ItemPrice i = new ItemPrice(); ItemPriceMgr ipm = new ItemPriceMgr(connectionString); ArrayList liststr = new ArrayList(); foreach (PriceMaster p in list_price) { foreach (ProductItem pi in item_list) { if (p.same_price == 1) { i.price_master_id = p.price_master_id; i.item_id = pi.Item_Id; i.item_money = Convert.ToUInt32(p.price); i.item_cost = Convert.ToUInt32(p.cost); i.event_cost = Convert.ToUInt32(p.event_cost); i.event_money = Convert.ToUInt32(p.event_price); } else { i.price_master_id = p.price_master_id; i.item_id = pi.Item_Id; i.item_money = 0; i.item_cost = 0; i.event_money = 0; i.event_cost = 0; resultStr = "{success:true,Msg:true}"; } liststr.Add(ipm.Save(i)); } } ipm.AddItemPricBySpec(liststr, connectionString); } } //若為單一商品,則把product_item.export_flag改為2 edit by xiangwang0413w 2014/06/30 //if (proModel.Combination == 1) //{ // _productItemMgr = new ProductItemMgr(connectionString); // ProductItem pro_Item = new ProductItem() { Product_Id = proModel.Product_Id, Export_flag = 2 }; // _productItemMgr.UpdateExportFlag(pro_Item); //} #endregion } else { #region 臨時表修改 _productTempMgr = new ProductTempMgr(connectionString); //add by xiangwang 2014.09.26 可修改庫存預設值為99 string product_id = "0"; if (!string.IsNullOrEmpty(Request.Form["OldProductId"])) { product_id = Request.Form["OldProductId"]; } //add by xiangwang 2014.09.26 可修改庫存預設值為99 ProductTemp query = _productTempMgr.GetProTemp(new ProductTemp { Writer_Id = _caller.user_id, Combo_Type = COMBO_TYPE, Product_Id = product_id }); if (!specType.Equals("0") && !string.IsNullOrEmpty(specType)) { #region 有規格 List<ProductSpecTemp> spec1List; List<ProductSpecTemp> spec2List; List<ProductSpecTemp> specAllList = new List<ProductSpecTemp>(); JavaScriptSerializer jss = new JavaScriptSerializer(); spec1List = jss.Deserialize<List<ProductSpecTemp>>(spec1Result); foreach (ProductSpecTemp item in spec1List) { // specid = _serialMgr.NextSerial(18); //item.spec_id = uint.Parse(specid.ToString()); item.Writer_Id = _caller.user_id; item.product_id = product_id; item.spec_type = 1; item.spec_image = ""; specAllList.Add(item); } if (specType.Equals("2")) { spec2Name = Request.Params["spec2Name"]; spec2Result = Request.Params["spec2Result"]; spec2List = jss.Deserialize<List<ProductSpecTemp>>(spec2Result); foreach (ProductSpecTemp item in spec2List) { // specid = _serialMgr.NextSerial(18); //item.spec_id = uint.Parse(specid.ToString()); item.Writer_Id = _caller.user_id; item.product_id = product_id; item.spec_type = 2; item.spec_image = ""; specAllList.Add(item); } } List<ProductSpecTemp> tempList = _specTempMgr.Query(new ProductSpecTemp { Writer_Id = _caller.user_id, product_id = product_id }); if (tempList == null || tempList.Count() <= 0) { #region 保存 specAllList.ForEach(p => p.spec_id = uint.Parse(_serialMgr.NextSerial(18).ToString())); bool saveSpecResult = _specTempMgr.Save(specAllList); if (saveSpecResult) { _productItemTempMgr.Delete(new ProductItemTemp { Writer_Id = _caller.user_id, Product_Id = product_id }); #region 保存ProductItemTemp List<ProductSpecTemp> specAllResultList = _specTempMgr.Query(new ProductSpecTemp { Writer_Id = _caller.user_id, product_id = product_id }); List<ProductSpecTemp> spec1ResultList = specAllResultList.Where(m => m.spec_type == 1).ToList(); List<ProductSpecTemp> spec2ResultList = specAllResultList.Where(m => m.spec_type == 2).ToList(); List<ProductItemTemp> saveItemList = new List<ProductItemTemp>(); if (specType.Equals("1")) { foreach (ProductSpecTemp specTemp1 in spec1ResultList) { ProductItemTemp itemTemp = new ProductItemTemp(); itemTemp.Writer_Id = _caller.user_id; itemTemp.Product_Id = product_id; itemTemp.Spec_Id_1 = specTemp1.spec_id; //itemTemp.Item_Stock = 10; itemTemp.Item_Alarm = 1; saveItemList.Add(itemTemp); } } else if (specType.Equals("2")) { foreach (ProductSpecTemp specTemp1 in spec1ResultList) { foreach (ProductSpecTemp specTemp2 in spec2ResultList) { ProductItemTemp itemTemp = new ProductItemTemp(); itemTemp.Writer_Id = _caller.user_id; itemTemp.Product_Id = product_id; itemTemp.Spec_Id_1 = specTemp1.spec_id; itemTemp.Spec_Id_2 = specTemp2.spec_id; //itemTemp.Item_Stock = 10; itemTemp.Item_Alarm = 1; itemTemp.Item_Code = ""; itemTemp.Barcode = ""; saveItemList.Add(itemTemp); } } } //add by xiangwang 2014.09.26 可修改庫存預設值為99 //saveItemList.ForEach(m => m.SetDefaultItemStock(query)); bool saveItemResult = _productItemTempMgr.Save(saveItemList); if (!saveItemResult) { result = false; } #endregion } else { result = false; } #endregion } else { #region 更新 string strSpecInit = Request.Params["specInit"]; string[] specs = strSpecInit.Split(','); List<ProductSpecTemp> addList = specAllList.Where(p => p.spec_id == 0).ToList(); if (addList.Count() > 0) { addList.ForEach(p => p.spec_id = uint.Parse(_serialMgr.NextSerial(18).ToString())); List<ProductSpecTemp> specAllResultList = _specTempMgr.Query(new ProductSpecTemp { Writer_Id = _caller.user_id, product_id = product_id }); List<ProductSpecTemp> spec1ResultList = specAllResultList.Where(m => m.spec_type == 1).ToList(); List<ProductSpecTemp> spec2ResultList = specAllResultList.Where(m => m.spec_type == 2).ToList(); List<ProductItemTemp> saveItemList = new List<ProductItemTemp>(); foreach (ProductSpecTemp item in addList) { if (specType.Equals("1")) { if (item.spec_type == 1) { ProductItemTemp saveTemp = new ProductItemTemp(); saveTemp.Writer_Id = _caller.user_id; saveTemp.Spec_Id_1 = item.spec_id; saveTemp.Product_Id = product_id; //saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveItemList.Add(saveTemp); } else { ProductItemTemp saveTemp = new ProductItemTemp(); saveTemp.Writer_Id = _caller.user_id; saveTemp.Spec_Id_2 = item.spec_id; saveTemp.Product_Id = product_id; // saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveItemList.Add(saveTemp); } } else { if (item.spec_type == 1) { foreach (ProductSpecTemp item1 in spec2ResultList) { ProductItemTemp saveTemp = new ProductItemTemp(); saveTemp.Writer_Id = _caller.user_id; saveTemp.Spec_Id_1 = item.spec_id; saveTemp.Spec_Id_2 = item1.spec_id; //saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveTemp.Product_Id = product_id; saveItemList.Add(saveTemp); } foreach (ProductSpecTemp item1 in addList.Where(p => p.spec_type == 2).ToList()) { ProductItemTemp saveTemp = new ProductItemTemp(); saveTemp.Writer_Id = _caller.user_id; saveTemp.Spec_Id_1 = item.spec_id; saveTemp.Spec_Id_2 = item1.spec_id; //saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveTemp.Product_Id = product_id; saveItemList.Add(saveTemp); } } else { foreach (ProductSpecTemp item2 in spec1ResultList) { ProductItemTemp saveTemp = new ProductItemTemp(); saveTemp.Writer_Id = _caller.user_id; saveTemp.Spec_Id_1 = item2.spec_id; saveTemp.Spec_Id_2 = item.spec_id; saveTemp.Product_Id = product_id; // saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveItemList.Add(saveTemp); } } } } _specTempMgr.Save(addList); //add by xiangwang 2014.09.26 可修改庫存預設值為99 //saveItemList.ForEach(m => m.SetDefaultItemStock(query)); _productItemTempMgr.Save(saveItemList); } if (specs.Length > 0) { List<ProductSpecTemp> updateList = new List<ProductSpecTemp>(); foreach (string initSpecId in specs) { ProductSpecTemp nowItem = specAllList.Where(p => p.spec_id == uint.Parse(initSpecId)).FirstOrDefault(); if (nowItem != null) { updateList.Add(nowItem); } else { ProductItemTemp delTemp = new ProductItemTemp { Writer_Id = _caller.user_id, Product_Id = product_id }; uint spectype = _specTempMgr.Query(new ProductSpecTemp { spec_id = uint.Parse(initSpecId), product_id = product_id })[0].spec_type; if (spectype == 1) { delTemp.Spec_Id_1 = uint.Parse(initSpecId); } else if (spectype == 2) { delTemp.Spec_Id_2 = uint.Parse(initSpecId); } if (!_productItemTempMgr.Delete(delTemp)) { result = false; } if (!_specTempMgr.Delete(new ProductSpecTemp { spec_id = uint.Parse(initSpecId), Writer_Id = _caller.user_id, product_id = product_id })) { result = false; } DeletePicOnServer(false, true, false, uint.Parse(initSpecId), product_id); } } if (!_specTempMgr.Update(updateList, "spec")) { result = false; } } #endregion } #region 更新Product ProductTemp proTemp = new ProductTemp(); proTemp.Writer_Id = _caller.user_id; proTemp.Product_Spec = uint.Parse(specType); proTemp.Spec_Title_1 = spec1Name; proTemp.Spec_Title_2 = spec2Name; proTemp.Combo_Type = COMBO_TYPE; proTemp.Product_Id = product_id; bool saveProductResult = _productTempMgr.SpecInfoSave(proTemp); if (!saveProductResult) { result = false; } #endregion #endregion } else { #region 無規格 List<ProductItemTemp> saveList = new List<ProductItemTemp>(); //如果原數據有規格 if (query.Product_Spec != 0) { //刪除服務器上對應的圖片 DeletePicOnServer(false, true, false, 0, product_id); _productItemTempMgr.Delete(new ProductItemTemp { Writer_Id = _caller.user_id, Product_Id = product_id }); _specTempMgr.Delete(new ProductSpecTemp { Writer_Id = _caller.user_id, product_id = product_id }); _productTempMgr.SpecInfoSave(new ProductTemp { Product_Spec = 0, Spec_Title_1 = "", Spec_Title_2 = "", Writer_Id = _caller.user_id, Combo_Type = COMBO_TYPE, Product_Id = product_id }); saveList = new List<ProductItemTemp>(); saveList.Add(new ProductItemTemp { Writer_Id = _caller.user_id, Product_Id = product_id/*, Item_Stock = 10*/, Item_Alarm = 1 }); } else { List<ProductItemTemp> itemQuery = _productItemTempMgr.Query(new ProductItemTemp { Writer_Id = _caller.user_id, Product_Id = product_id }); if (itemQuery.Count() <= 0) { saveList = new List<ProductItemTemp>(); saveList.Add(new ProductItemTemp { Writer_Id = _caller.user_id, Product_Id = product_id, /*Item_Stock = 10,*/ Item_Alarm = 1 }); // _productItemTempMgr.Save(saveList); } } //add by xiangwang 2014.09.26 可修改庫存預設值為99 //saveList.ForEach(m => m.SetDefaultItemStock(query)); _productItemTempMgr.Save(saveList); #endregion } #endregion #region 調度或自出商品,商品庫存預設為99 var proditemTemp = new ProductItemTemp { Product_Id = product_id, Writer_Id = _caller.user_id }; proditemTemp.SetDefaultItemStock(query); _productItemTempMgr.UpdateItemStock(proditemTemp); #endregion } } catch (Exception ex) { result = false; 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); } if (!result) { resultStr = "{success:false,Msg:false}"; } this.Response.Clear(); this.Response.Write(resultStr); this.Response.End(); return this.Response; }
//excel public HttpResponseBase RedirectUploadExcel() { string newName = string.Empty; string json = string.Empty; _redirectMgr = new RedirectMgr(mySqlConnectionString); try { DTExcels.Clear(); DTExcels.Columns.Clear(); DTExcels.Columns.Add("連結名稱", typeof(String)); DTExcels.Columns.Add("目的連結", typeof(String)); DTExcels.Columns.Add("連結狀態", typeof(String));//1表示正常2表示停用 其他都為正常 int count = 0;//總匯入數 int errorcount = 0;//數據異常個數 int create_user = (Session["caller"] as Caller).user_id; if (Request.Files["ImportExcelFile"] != null && Request.Files["ImportExcelFile"].ContentLength > 0) { HttpPostedFileBase excelFile = Request.Files["ImportExcelFile"]; newName = Server.MapPath(excelPath) + excelFile.FileName; excelFile.SaveAs(newName); DataTable dt = new DataTable(); NPOI4ExcelHelper helper = new NPOI4ExcelHelper(newName); dt = helper.SheetData(); if (dt.Rows.Count > 0 && !string.IsNullOrEmpty(dt.Rows[0][0].ToString()) && !string.IsNullOrEmpty(dt.Rows[0][1].ToString())) { foreach (DataRow dr in dt.Rows) { if (!string.IsNullOrEmpty(dr[0].ToString()) && !string.IsNullOrEmpty(dr[1].ToString())) { #region 匯入數據 RedirectQuery rd = new RedirectQuery(); rd.group_id = Convert.ToUInt32(Request.Params["group_id"]);//得到群組 try { int linkstatus = 0; if (!int.TryParse(dr[2].ToString(), out linkstatus)) { linkstatus = 1; } if (linkstatus == 2) { linkstatus = 2; rd.redirect_name = dr[0].ToString();//連接名稱 rd.redirect_url = dr[1].ToString();//目的連接 rd.redirect_status = Convert.ToUInt32(linkstatus);//連接狀態 } else { linkstatus = 1; rd.redirect_name = dr[0].ToString(); rd.redirect_url = dr[1].ToString(); rd.redirect_status = Convert.ToUInt32(linkstatus); } rd.redirect_createdate = Convert.ToUInt32(CommonFunction.GetPHPTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); rd.redirect_updatedate = Convert.ToUInt32(CommonFunction.GetPHPTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); rd.redirect_ipfrom = CommonFunction.GetClientIP(); //獲取Serial裡面的redirect_id _serialMgr = new SerialMgr(mySqlConnectionString); rd.redirect_id = uint.Parse((_serialMgr.GetSerialById(4).Serial_Value + 1).ToString()); } catch (Exception ex) {//不是正常數據時候直接帶1(正常) int linkstatus = 1; rd.redirect_name = dr[0].ToString(); rd.redirect_url = dr[1].ToString(); rd.redirect_status = Convert.ToUInt32(linkstatus); } int result = 0;//如果獲取到的連結名稱和url為空就不新增 if (!string.IsNullOrEmpty(rd.redirect_name) && !string.IsNullOrEmpty(rd.redirect_url))//&& Regex.IsMatch(rd.redirect_url,'') { result = _redirectMgr.EnterInotRedirect(rd); } if (result > 0) {//插入成功一條并修改serial表數據 count++; Serial serial = new Serial(); serial.Serial_id = 4; serial.Serial_Value = rd.redirect_id; _serialMgr.Update(serial); } else { DataRow drs = DTExcels.NewRow(); drs[0] = dr[0].ToString(); drs[1] = dr[1].ToString(); drs[2] = dr[2].ToString(); DTExcels.Rows.Add(drs); errorcount++;//插入失敗一條 } #endregion } json = "{success:true,count:" + count + ",errorcount:" + errorcount + "}"; } } else { json = "{success:true,total:" + 0 + ",error:" + 0 + ",entercount:" + 0 + "}"; } } } 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:false,data:" + "" + "}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public HttpResponseBase SaveRedirect() { string json = string.Empty; try { Redirect redirect = new Redirect(); _redirectMgr = new RedirectMgr(mySqlConnectionString); _serialMgr = new SerialMgr(mySqlConnectionString); redirect.redirect_name = Request.Params["redirect_name"].ToString(); if (!string.IsNullOrEmpty(Request.Params["group_id"])) { redirect.group_id = uint.Parse(Request.Params["group_id"]); } if (!string.IsNullOrEmpty(Request.Params["user_group_id"])) { redirect.user_group_id = int.Parse(Request.Params["user_group_id"]); } if (!string.IsNullOrEmpty(Request.Params["redirect_status"])) { redirect.redirect_status = uint.Parse(Request.Params["redirect_status"]); } redirect.redirect_url = Request.Params["redirect_url"]; redirect.redirect_note = Request.Params["redirect_note"]; redirect.redirect_ipfrom = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault().ToString(); if (!string.IsNullOrEmpty(Request.Params["redirect_id"])) { redirect.redirect_id = uint.Parse(Request.Params["redirect_id"]); redirect.redirect_updatedate = Convert.ToUInt32(CommonFunction.GetPHPTime()); if (_redirectMgr.Update(redirect) > 0) { json = "{success:true}"; } } else { redirect.redirect_id = uint.Parse((_serialMgr.GetSerialById(4).Serial_Value + 1).ToString()); redirect.redirect_createdate = Convert.ToUInt32(CommonFunction.GetPHPTime()); redirect.redirect_updatedate = redirect.redirect_createdate; if (_redirectMgr.Save(redirect) > 0) { Serial serial = new Serial(); serial.Serial_id = 4; serial.Serial_Value = redirect.redirect_id; _serialMgr.Update(serial); json = "{success:true}"; } } } 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:false,totalCount:0,data:[]}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public HttpResponseBase BannerImageEdit() { string json = string.Empty; BannerContent bc = new BannerContent(); Serial serial = new Serial(); _bcMgr = new BannerContentMgr(mySqlConnectionString); _ISerImplMgr = new SerialMgr(mySqlConnectionString); serial = _ISerImplMgr.GetSerialById(72); string path = Server.MapPath(xmlPath); SiteConfigMgr _siteConfigMgr = new SiteConfigMgr(path); SiteConfig extention_config = _siteConfigMgr.GetConfigByName("PIC_Extention_Format"); SiteConfig minValue_config = _siteConfigMgr.GetConfigByName("PIC_Length_MinValue"); SiteConfig maxValue_config = _siteConfigMgr.GetConfigByName("PIC_Length_MaxValue"); SiteConfig admin_userName = _siteConfigMgr.GetConfigByName("ADMIN_USERNAME"); SiteConfig admin_passwd = _siteConfigMgr.GetConfigByName("ADMIN_PASSWD"); //擴展名、最小值、最大值 string extention = extention_config.Value == "" ? extention_config.DefaultValue : extention_config.Value; string minValue = minValue_config.Value == "" ? minValue_config.DefaultValue : minValue_config.Value; string maxValue = maxValue_config.Value == "" ? maxValue_config.DefaultValue : maxValue_config.Value; string localPromoPath = imgLocalServerPath + promoPath;//圖片存儲地址 /aimg.gigade100.com/ +/promotion/dev/ string NewName = string.Empty;//當前文件名 string fileExtention = string.Empty;//當前文件的擴展名 string NewFileName = string.Empty; FileManagement fileLoad = new FileManagement(); try { string oldImg = string.Empty; serial = _ISerImplMgr.GetSerialById(6); List<BannerContent> store = new List<BannerContent>(); if (!string.IsNullOrEmpty(Request.Params["banner_content_id"])) { int totalCount = 0; bc.IsPage = false; bc.banner_content_id = uint.Parse(Request.Params["banner_content_id"]); if (Request.Params["history"] == "1") { bc.banner_status = 3; } store = _bcMgr.GetList(bc, out totalCount); foreach (var item in store) { oldImg = item.banner_image; } } bc = new BannerContent(); bc.banner_title = Request.Params["banner_title"]; bc.banner_link_url = Request.Params["banner_link_url"]; if (!string.IsNullOrEmpty(Request.Params["banner_site_id"])) { bc.banner_site_id = uint.Parse(Request.Params["banner_site_id"]); } if (!string.IsNullOrEmpty(Request.Params["banner_link_mode"])) { bc.banner_link_mode = int.Parse(Request.Params["banner_link_mode"]); } if (!string.IsNullOrEmpty(Request.Params["banner_sort"])) { bc.banner_sort = uint.Parse(Request.Params["banner_sort"]); } if (!string.IsNullOrEmpty(Request.Params["banner_statuses"])) { bc.banner_status = uint.Parse(Request.Params["banner_statuses"]); } if (!string.IsNullOrEmpty(Request.Params["banner_start"])) { bc.banner_start = DateTime.Parse(DateTime.Parse(Request.Params["banner_start"]).ToString("yyyy-MM-dd") + " 00:00:00"); } if (!string.IsNullOrEmpty(Request.Params["banner_end"])) { bc.banner_end = DateTime.Parse(DateTime.Parse(Request.Params["banner_end"]).ToString("yyyy-MM-dd") + " 23:59:59"); } bc.banner_ipfrom = CommonFunction.GetClientIPNew(); if (bc.banner_ipfrom == "::1") { bc.banner_ipfrom = System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName())[2].ToString(); } if (!string.IsNullOrEmpty(Request.Params["banner_content_id"]) && Request.Params["banner_image"] == oldImg) { bc.banner_image = oldImg; } if (Request.Files["banner_image"] != null && Request.Files["banner_image"].ContentLength > 0) { HttpPostedFileBase file = Request.Files["banner_image"]; if (file.ContentLength > int.Parse(minValue) * 1024 && file.ContentLength < int.Parse(maxValue) * 1024) { NewName = Path.GetFileName(file.FileName); bool result = false; string filename = NewName.Substring(0, NewName.LastIndexOf(".")); //獲得文件的後綴名 fileExtention = NewName.Substring(NewName.LastIndexOf(".")).ToLower(); //新的文件名是哈希字符串 BLL.gigade.Common.HashEncrypt hash = new BLL.gigade.Common.HashEncrypt(); NewFileName = hash.Md5Encrypt(filename, "32"); string firstFolder = NewFileName.Substring(0, 2) + "/"; string secondFolder = NewFileName.Substring(2, 2) + "/"; NewFileName = NewFileName + fileExtention; NewName = NewFileName; string ServerPath = string.Empty; string localPromoDirectory = Server.MapPath(localPromoPath); if (!System.IO.Directory.Exists(localPromoDirectory)) { System.IO.Directory.CreateDirectory(localPromoDirectory); } FTP ftp = new FTP(); string directorys = promoPath + firstFolder + secondFolder; ftp.MakeMultiDirectory(imgLocalPath+"/", directorys.Substring(1, directorys.Length - 2).Split('/'), ftpuser, ftppwd); //NewFileName = localPromoPath + NewFileName;//絕對路徑 ServerPath = Server.MapPath(localPromoPath + firstFolder + secondFolder); string ErrorMsg = string.Empty; //上傳 result = fileLoad.UpLoadFile(file, ServerPath, imgLocalPath + directorys + NewFileName, extention, int.Parse(maxValue), int.Parse(minValue), ref ErrorMsg, ftpuser, ftppwd); if (!result) { json = "{success:false,msg:'圖片上傳失敗!'}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } bc.banner_image = NewName; string oldImgPath = string.Empty; string ftppath = string.Empty; if (oldImg.Length >= 4) { oldImgPath = localPromoPath + oldImg.Substring(0, 2) + "/" + oldImg.Substring(2, 2) + "/" + oldImg; } if (System.IO.File.Exists(Server.MapPath(oldImgPath))) { ftppath=imgLocalPath + promoPath + oldImg.Substring(0, 2) + "/" + oldImg.Substring(2, 2) + "/"; System.IO.File.Delete(Server.MapPath(oldImgPath)); FTP ftp1 = new FTP(ftppath, ftpuser, ftppwd); List<string> tem = ftp1.GetFileList(); if (tem.Contains(oldImg)) { FTP ftps = new FTP(ftppath + oldImg, ftpuser, ftppwd); ftps.DeleteFile(ftppath + oldImg); } } } else { json = "{success:false,msg:'上傳圖片不能超過" + maxValue + "K'}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } } #region 新增 if (String.IsNullOrEmpty(Request.Params["banner_content_id"])) { bc.banner_content_id = uint.Parse((serial.Serial_Value + 1).ToString()); if (_bcMgr.Add(bc) > 0) { serial.Serial_Value = serial.Serial_Value + 1;/*所在操作表的列增加*/ _ISerImplMgr.Update(serial);/*修改所在的表的列對應的值*/ json = "{success:true,msg:\"" + "新增成功!" + "\"}"; } } #endregion #region 編輯 else { bc.banner_content_id = uint.Parse(Request.Params["banner_content_id"]); if (_bcMgr.Update(bc) > 0) { json = "{success:true,msg:\"" + "修改成功!" + "\"}"; } } #endregion } catch (Exception ex) { json = "{success:false,msg:\"" + "異常" + "\"}"; 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; }
// [HttpPost] public HttpResponseBase SaveVipUserGroup() { NameValueCollection param = Request.Params; VipUserGroup userGroup = new VipUserGroup(); string json = string.Empty; bool size = true; Serial serial = new Serial(); _userGroupMgr = new VipUserGroupMgr(mySqlConnectionString); _ISerImplMgr = new SerialMgr(mySqlConnectionString); serial = _ISerImplMgr.GetSerialById(72); string path = Server.MapPath(xmlPath); SiteConfigMgr _siteConfigMgr = new SiteConfigMgr(path); SiteConfig extention_config = _siteConfigMgr.GetConfigByName("PIC_Extention_Format"); SiteConfig minValue_config = _siteConfigMgr.GetConfigByName("PIC_Length_MinValue"); SiteConfig maxValue_config = _siteConfigMgr.GetConfigByName("PIC_Length_MaxValue"); SiteConfig admin_userName = _siteConfigMgr.GetConfigByName("ADMIN_USERNAME"); SiteConfig admin_passwd = _siteConfigMgr.GetConfigByName("ADMIN_PASSWD"); //擴展名、最小值、最大值 string extention = extention_config.Value == "" ? extention_config.DefaultValue : extention_config.Value; string minValue = minValue_config.Value == "" ? minValue_config.DefaultValue : minValue_config.Value; string maxValue = maxValue_config.Value == "" ? maxValue_config.DefaultValue : maxValue_config.Value; string localPromoPath = imgLocalPath + promoPath;//圖片存儲地址 Random rand = new Random(); int newRand = rand.Next(1000, 9999); string NewName = string.Empty;//當前文件名 string fileExtention = string.Empty;//當前文件的擴展名 string NewFileName = string.Empty; FileManagement fileLoad = new FileManagement(); try { #region 新增 if (String.IsNullOrEmpty(param["group_id"])) { if (!string.IsNullOrEmpty(Request.Form["group_name"])) { userGroup.group_name = Request.Form["group_name"].ToString(); } if (!string.IsNullOrEmpty(Request.Form["tax_id"])) { userGroup.tax_id = Request.Form["tax_id"].ToString(); } if (!string.IsNullOrEmpty(Request.Form["eng_name"])) { userGroup.eng_name = Request.Form["eng_name"].ToString(); } if (!string.IsNullOrEmpty(Request.Form["gift_bonus"])) { userGroup.gift_bonus = Convert.ToUInt32(Request.Form["gift_bonus"]); } if (!string.IsNullOrEmpty(Request.Form["group_category"])) { userGroup.group_category = Convert.ToUInt32(Request.Form["group_category"]); } siteConfigMgr = new SiteConfigMgr(Server.MapPath(xmlPath)); try { if (Request.Files["image_name"] != null && Request.Files["image_name"].ContentLength > 0) { HttpPostedFileBase file = Request.Files["image_name"]; if (file.ContentLength > int.Parse(minValue) * 1024 && file.ContentLength < int.Parse(maxValue) * 1024) { NewName = Path.GetFileName(file.FileName); bool result = false; //獲得文件的後綴名 fileExtention = NewName.Substring(NewName.LastIndexOf(".")).ToLower(); //新的文件名是隨機數字 BLL.gigade.Common.HashEncrypt hash = new BLL.gigade.Common.HashEncrypt(); NewFileName = hash.Md5Encrypt(newRand.ToString(), "32") + fileExtention; NewName = NewFileName; string ServerPath = string.Empty; //判斷目錄是否存在,不存在則創建 string[] mapPath = new string[1]; mapPath[0] = promoPath.Substring(1, promoPath.Length - 2); string jian = localPromoPath.Substring(0, localPromoPath.Length - promoPath.Length + 1); CreateFolder(localPromoPath.Substring(0, localPromoPath.Length - promoPath.Length + 1), mapPath); NewFileName = localPromoPath + NewFileName;//絕對路徑 ServerPath = Server.MapPath(imgLocalServerPath + promoPath); string ErrorMsg = string.Empty; //上傳 result = fileLoad.UpLoadFile(file, ServerPath, NewFileName, extention, int.Parse(maxValue), int.Parse(minValue), ref ErrorMsg, ftpuser, ftppwd); if (result) { userGroup.image_name = NewName; } } else { size = false; } } } catch (Exception) { userGroup.image_name = string.Empty; } if (!string.IsNullOrEmpty(Request.Params["check_iden"])) { userGroup.check_iden = int.Parse(Request.Params["check_iden"]); } userGroup.createdate = (uint)CommonFunction.GetPHPTime(DateTime.Now.ToString()); userGroup.group_id = uint.Parse((serial.Serial_Value + 1).ToString()); if (_userGroupMgr.Insert(userGroup) > 0) { serial.Serial_Value = serial.Serial_Value + 1;/*所在操作表的列增加*/ _ISerImplMgr.Update(serial);/*修改所在的表的列對應的值*/ if (size) { json = "{success:true,msg:\"" + "" + "\"}"; } else { json = "{success:true,msg:\"" + " 文件大小應大於1KB小於100KB!" + "\"}"; } } else { json = "{success:false,msg:\"" + "新增失敗!" + "\"}"; } } #endregion #region 編輯 else { _userGroupMgr = new VipUserGroupMgr(mySqlConnectionString); userGroup.group_id = Convert.ToUInt32(param["group_id"]); VipUserGroup oldUserGroup = _userGroupMgr.GetModelById(userGroup.group_id); if (!string.IsNullOrEmpty(Request.Form["group_name"])) { userGroup.group_name = Request.Form["group_name"].ToString(); } if (!string.IsNullOrEmpty(Request.Form["tax_id"])) { userGroup.tax_id = Request.Form["tax_id"].ToString(); } if (!string.IsNullOrEmpty(Request.Form["eng_name"])) { userGroup.eng_name = Request.Form["eng_name"].ToString(); } if (!string.IsNullOrEmpty(Request.Form["gift_bonus"])) { userGroup.gift_bonus = Convert.ToUInt32(Request.Form["gift_bonus"]); } if (!string.IsNullOrEmpty(Request.Form["group_category"])) { userGroup.group_category = Convert.ToUInt32(Request.Form["group_category"]); } try { //如果圖片沒有改變 if (Request.Form["image_name"] == oldUserGroup.image_name) { userGroup.image_name = Request.Form["image_name"]; } else { //圖片改變了 if (Request.Files["image_name"] != null && Request.Files["image_name"].ContentLength > 0) { HttpPostedFileBase file = Request.Files["image_name"]; if (file.ContentLength > int.Parse(minValue) * 1024 && file.ContentLength < int.Parse(maxValue) * 1024) { NewName = Path.GetFileName(file.FileName); bool result = false; //獲得文件的後綴名 fileExtention = NewName.Substring(NewName.LastIndexOf(".")).ToLower(); //新的文件名是隨機數字 BLL.gigade.Common.HashEncrypt hash = new BLL.gigade.Common.HashEncrypt(); NewFileName = hash.Md5Encrypt(newRand.ToString(), "32") + fileExtention; NewName = NewFileName; string ServerPath = string.Empty; //判斷目錄是否存在,不存在則創建 string[] mapPath = new string[1]; mapPath[0] = promoPath.Substring(1, promoPath.Length - 2); string jian = localPromoPath.Substring(0, localPromoPath.Length - promoPath.Length + 1); CreateFolder(localPromoPath.Substring(0, localPromoPath.Length - promoPath.Length + 1), mapPath); // returnName += promoPath + NewFileName; NewFileName = localPromoPath + NewFileName;//絕對路徑 ServerPath = Server.MapPath(imgLocalServerPath + promoPath); string ErrorMsg = string.Empty; //上傳之前刪除已有的圖片 string oldFileName = oldUserGroup.image_name; //FTP ftp = new FTP(localPromoPath, ftpuser, ftppwd); //List<string> tem = ftp.GetFileList(); //上傳 result = fileLoad.UpLoadFile(file, ServerPath, NewFileName, extention, int.Parse(maxValue), int.Parse(minValue), ref ErrorMsg, ftpuser, ftppwd); if (result) { userGroup.image_name = NewName; if (System.IO.File.Exists(ServerPath + oldFileName)) { FTP ftps = new FTP(localPromoPath + oldFileName, ftpuser, ftppwd); if (System.IO.File.Exists(localPromoPath + oldFileName)) { ftps.DeleteFile(localPromoPath + oldFileName);//刪除ftp:71.159上的舊圖片 } DeletePicFile(ServerPath + oldFileName);//刪除本地圖片 } } else { userGroup.image_name = oldUserGroup.image_name; } } else { size = false; userGroup.image_name = oldUserGroup.image_name; } } } } catch (Exception) { userGroup.image_name = oldUserGroup.image_name; } try { userGroup.check_iden = int.Parse(Request.Params["check_iden"]); } catch (Exception) { userGroup.check_iden = 0; } if (_userGroupMgr.Update(userGroup) > 0) { if (size) { json = "{success:true,msg:\"" + "" + "\"}"; } else { json = "{success:true,msg:\"" + " 文件大小應大於1KB小於100KB!" + "\"}"; } } else { json = "{success:false,msg:\"" + "修改失敗!" + "\"}"; } } #endregion } catch (Exception ex) { json = "{success:false,msg:\"" + "異常" + "\"}"; 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; }
public HttpResponseBase specTempSave() { string resultStr = "{success:true}"; bool result = true; try { BLL.gigade.Model.Vendor vendorModel = (BLL.gigade.Model.Vendor)Session["vendor"]; int writerID = (int)vendorModel.vendor_id; string specType = Request.Params["specType"]; string spec1Name = Request.Params["spec1Name"]; string spec1Result = Request.Params["spec1Result"]; string spec2Name = Request.Params["spec2Name"]; string spec2Result = Request.Params["spec2Result"]; _specTempMgr = new ProductSpecTempMgr(connectionString); _productTempMgr = new ProductTempMgr(connectionString); _productItemTempMgr = new ProductItemTempMgr(connectionString); _serialMgr = new SerialMgr(connectionString); #region 臨時表修改 string proId = string.Empty; if (!string.IsNullOrEmpty(Request.Params["ProductId"])) { proId = Request.Params["ProductId"].ToString(); } if (!string.IsNullOrEmpty(proId)) { if (!specType.Equals("0") && !string.IsNullOrEmpty(specType)) { #region 有規格 List<ProductSpecTemp> spec1List; List<ProductSpecTemp> spec2List; List<ProductSpecTemp> specAllList = new List<ProductSpecTemp>(); JavaScriptSerializer jss = new JavaScriptSerializer(); spec1List = jss.Deserialize<List<ProductSpecTemp>>(spec1Result); foreach (ProductSpecTemp item in spec1List) { item.Writer_Id = writerID;// item.Writer_Id = _caller.user_id; item.product_id = proId; item.spec_type = 1; item.spec_image = ""; specAllList.Add(item); } if (specType.Equals("2")) { spec2List = jss.Deserialize<List<ProductSpecTemp>>(spec2Result); foreach (ProductSpecTemp item in spec2List) { item.Writer_Id = writerID;// item.Writer_Id = _caller.user_id; item.product_id = proId; item.spec_type = 2; item.spec_image = ""; specAllList.Add(item); } } List<ProductSpecTemp> tempList = _specTempMgr.VendorQuery(new ProductSpecTemp { Writer_Id = writerID, product_id = proId }); if (tempList == null || tempList.Count() <= 0) { #region 保存 specAllList.ForEach(p => p.spec_id = uint.Parse(_serialMgr.NextSerial(18).ToString())); bool saveSpecResult = _specTempMgr.SaveByVendor(specAllList); if (saveSpecResult) { _productItemTempMgr.DeleteByVendor(new ProductItemTemp { Writer_Id = writerID, Product_Id = proId }); #region 保存ProductItemTemp List<ProductSpecTemp> specAllResultList = _specTempMgr.VendorQuery(new ProductSpecTemp { Writer_Id = writerID, product_id = proId }); List<ProductSpecTemp> spec1ResultList = specAllResultList.Where(m => m.spec_type == 1).ToList(); List<ProductSpecTemp> spec2ResultList = specAllResultList.Where(m => m.spec_type == 2).ToList(); List<ProductItemTemp> saveItemList = new List<ProductItemTemp>(); if (specType.Equals("1")) { foreach (ProductSpecTemp specTemp1 in spec1ResultList) { ProductItemTemp itemTemp = new ProductItemTemp(); itemTemp.Writer_Id = writerID; itemTemp.Product_Id = proId; itemTemp.Spec_Id_1 = specTemp1.spec_id; itemTemp.Item_Stock = 10; itemTemp.Item_Alarm = 1; saveItemList.Add(itemTemp); } } else if (specType.Equals("2")) { foreach (ProductSpecTemp specTemp1 in spec1ResultList) { foreach (ProductSpecTemp specTemp2 in spec2ResultList) { ProductItemTemp itemTemp = new ProductItemTemp(); itemTemp.Writer_Id = writerID; itemTemp.Product_Id = proId; itemTemp.Spec_Id_1 = specTemp1.spec_id; itemTemp.Spec_Id_2 = specTemp2.spec_id; itemTemp.Item_Stock = 10; itemTemp.Item_Alarm = 1; itemTemp.Item_Code = ""; itemTemp.Barcode = ""; saveItemList.Add(itemTemp); } } } bool saveItemResult = _productItemTempMgr.SaveByVendor(saveItemList); if (!saveItemResult) { result = false; } #endregion } else { result = false; } #endregion } else { #region 更新 string strSpecInit = Request.Params["specInit"]; string[] specs = strSpecInit.Trim().Split(','); List<ProductSpecTemp> addList = specAllList.Where(p => p.spec_id == 0).ToList(); if (addList.Count() > 0) { addList.ForEach(p => p.spec_id = uint.Parse(_serialMgr.NextSerial(18).ToString())); List<ProductSpecTemp> specAllResultList = _specTempMgr.VendorQuery(new ProductSpecTemp { Writer_Id = writerID, product_id = proId }); List<ProductSpecTemp> spec1ResultList = specAllResultList.Where(m => m.spec_type == 1).ToList(); List<ProductSpecTemp> spec2ResultList = specAllResultList.Where(m => m.spec_type == 2).ToList(); List<ProductItemTemp> saveItemList = new List<ProductItemTemp>(); foreach (ProductSpecTemp item in addList) { if (specType.Equals("1")) { if (item.spec_type == 1) { ProductItemTemp saveTemp = new ProductItemTemp(); saveTemp.Writer_Id = writerID; saveTemp.Spec_Id_1 = item.spec_id; saveTemp.Product_Id = proId; saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveItemList.Add(saveTemp); } else { ProductItemTemp saveTemp = new ProductItemTemp(); saveTemp.Writer_Id = writerID; saveTemp.Spec_Id_2 = item.spec_id; saveTemp.Product_Id = proId; saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveItemList.Add(saveTemp); } } else { if (item.spec_type == 1) { foreach (ProductSpecTemp item1 in spec2ResultList) { ProductItemTemp saveTemp = new ProductItemTemp(); saveTemp.Writer_Id = writerID; saveTemp.Spec_Id_1 = item.spec_id; saveTemp.Spec_Id_2 = item1.spec_id; saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveTemp.Product_Id = proId; saveItemList.Add(saveTemp); } foreach (ProductSpecTemp item1 in addList.Where(p => p.spec_type == 2).ToList()) { ProductItemTemp saveTemp = new ProductItemTemp(); saveTemp.Writer_Id = writerID; saveTemp.Spec_Id_1 = item.spec_id; saveTemp.Spec_Id_2 = item1.spec_id; saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveTemp.Product_Id = proId; saveItemList.Add(saveTemp); } } else { foreach (ProductSpecTemp item2 in spec1ResultList) { ProductItemTemp saveTemp = new ProductItemTemp(); saveTemp.Writer_Id = writerID; saveTemp.Spec_Id_1 = item2.spec_id; saveTemp.Spec_Id_2 = item.spec_id; saveTemp.Product_Id = proId; saveTemp.Item_Stock = 10; saveTemp.Item_Alarm = 1; saveItemList.Add(saveTemp); } } } } _specTempMgr.SaveByVendor(addList); _productItemTempMgr.SaveByVendor(saveItemList); } if (specs.Length > 0 && !string.IsNullOrEmpty(strSpecInit.Trim())) { List<ProductSpecTemp> updateList = new List<ProductSpecTemp>(); foreach (string initSpecId in specs) { ProductSpecTemp nowItem = specAllList.Where(p => p.spec_id == uint.Parse(initSpecId)).FirstOrDefault(); if (nowItem != null) { updateList.Add(nowItem); } else { ProductItemTemp delTemp = new ProductItemTemp { Writer_Id = writerID, Product_Id = proId }; uint spectype = _specTempMgr.VendorQuery(new ProductSpecTemp { spec_id = uint.Parse(initSpecId), product_id = proId })[0].spec_type; if (spectype == 1) { delTemp.Spec_Id_1 = uint.Parse(initSpecId); } else if (spectype == 2) { delTemp.Spec_Id_2 = uint.Parse(initSpecId); } if (!_productItemTempMgr.DeleteByVendor(delTemp)) { result = false; } if (!_specTempMgr.DeleteByVendor(new ProductSpecTemp { spec_id = uint.Parse(initSpecId), Writer_Id = writerID, product_id = proId })) { result = false; } DeletePicOnServer(false, true, false, uint.Parse(initSpecId), Convert.ToString(proId)); } } if (!_specTempMgr.Update(updateList, "spec")) { result = false; } } #endregion } #region 更新ProductTemp ProductTemp proTemp = new ProductTemp(); proTemp.Writer_Id = writerID; proTemp.Product_Spec = uint.Parse(specType); proTemp.Spec_Title_1 = spec1Name; proTemp.Spec_Title_2 = spec2Name; proTemp.Combo_Type = COMBO_TYPE; proTemp.Product_Id = proId; bool saveProductResult = _productTempMgr.vendorSpecInfoSave(proTemp) > 0 ? true : false; if (!saveProductResult) { result = false; } #endregion #endregion } else { #region 無規格 ProductTemp query = _productTempMgr.GetVendorProTemp(new ProductTemp { Writer_Id = writerID, Combo_Type = COMBO_TYPE, Product_Id = proId }); //如果原數據有規格 if (query.Product_Spec != 0) { //刪除服務器上對應的圖片 DeletePicOnServer(false, true, false, 0, proId); _productItemTempMgr.DeleteByVendor(new ProductItemTemp { Writer_Id = writerID, Product_Id = proId }); _specTempMgr.DeleteByVendor(new ProductSpecTemp { Writer_Id = writerID, product_id = proId }); _productTempMgr.vendorSpecInfoSave(new ProductTemp { Product_Spec = 0, Spec_Title_1 = "", Spec_Title_2 = "", Writer_Id = writerID, Combo_Type = COMBO_TYPE, Product_Id = proId }); List<ProductItemTemp> saveList = new List<ProductItemTemp>(); saveList.Add(new ProductItemTemp { Writer_Id = writerID, Product_Id = proId, Item_Stock = 10, Item_Alarm = 1 }); _productItemTempMgr.SaveByVendor(saveList); } else { List<ProductItemTemp> itemQuery = _productItemTempMgr.QueryByVendor(new ProductItemTemp { Writer_Id = writerID, Product_Id = proId }); if (itemQuery.Count() <= 0) { List<ProductItemTemp> saveList = new List<ProductItemTemp>(); saveList.Add(new ProductItemTemp { Writer_Id = writerID, Product_Id = proId, Item_Stock = 10, Item_Alarm = 1 }); _productItemTempMgr.SaveByVendor(saveList); } } #endregion } } else { result = false; Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", "VendorProductCountroller.cs", "specTempSave()", Resources.VendorProduct.NOTFOUNTKEY); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); resultStr = "{success:false}"; } #endregion } catch (Exception ex) { result = false; 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); } if (!result) { resultStr = "{success:false}"; } this.Response.Clear(); this.Response.Write(resultStr); this.Response.End(); return this.Response; }