public JsonResult Edit(GiftViewModel model) { var result = new AjaxReturnData { success = false, msg = "未知错误" }; if (ModelState.IsValid) { GiftViewModel postdata = new GiftViewModel(); if (model.Id > 0) { GiftInfo dbdata = _iGiftService.GetByIdAsNoTracking(model.Id); //数据补充 if (dbdata == null) { result.success = false; result.msg = "编号有误"; return(Json(result)); } postdata = dbdata.Map <GiftViewModel>(); } else { if (model.StockQuantity < 1) { result.success = false; result.msg = "库存必须大于0"; return(Json(result)); } } // UpdateModel(postdata); GiftInfo data = new GiftInfo(); data = postdata.Map <GiftInfo>(); if (model.Id > 0) { _iGiftService.UpdateGift(data); } else { data.Sequence = 100; data.AddDate = DateTime.Now; data.SalesStatus = GiftInfo.GiftSalesStatus.Normal; _iGiftService.AddGift(data); } #region 转移图片 int index = 1; List <string> piclist = new List <string>(); piclist.Add(model.PicUrl1); piclist.Add(model.PicUrl2); piclist.Add(model.PicUrl3); piclist.Add(model.PicUrl4); piclist.Add(model.PicUrl5); string path = data.ImagePath; foreach (var item in piclist) { if (!string.IsNullOrWhiteSpace(item)) { string source = string.Empty; if (item.IndexOf("temp/") > 0) { source = item.Substring(item.LastIndexOf("/temp")); } else if (item.Contains(data.ImagePath)) { source = item.Substring(item.LastIndexOf(data.ImagePath)); } try { string dest = string.Format("{0}/{1}.png", path, index); if (source == dest) { index++; continue; } if (!string.IsNullOrWhiteSpace(source)) { Core.MallIO.CopyFile(source, dest, true); } var imageSizes = EnumHelper.ToDictionary <ImageSize>().Select(t => t.Key); foreach (var imageSize in imageSizes) { string size = string.Format("{0}/{1}_{2}.png", path, index, imageSize); Core.MallIO.CreateThumbnail(dest, size, imageSize, imageSize); } //using (Image image = Image.FromFile(source)) //{ // image.Save(dest, System.Drawing.Imaging.ImageFormat.Png); // var imageSizes = EnumHelper.ToDictionary<GiftInfo.ImageSize>().Select(t => t.Key); // foreach (var imageSize in imageSizes) // { // string size = string.Format("{0}/{1}_{2}.png", path, index, imageSize); // ImageHelper.CreateThumbnail(dest, size, imageSize, imageSize); // } //} index++; } catch (FileNotFoundException fex) { index++; Core.Log.Error("发布礼品时候,没有找到文件", fex); } catch (System.Runtime.InteropServices.ExternalException eex) { index++; Core.Log.Error("发布礼品时候,ExternalException异常", eex); } catch (Exception ex) { index++; Core.Log.Error("发布礼品时候,Exception异常", ex); } } else { string dest = string.Format("{0}/{1}.png", path, index); if (MallIO.ExistFile(dest)) { MallIO.DeleteFile(dest); } var imageSizes = EnumHelper.ToDictionary <ImageSize>().Select(t => t.Key); foreach (var imageSize in imageSizes) { string size = string.Format("{0}/{1}_{2}.png", path, index, imageSize); if (MallIO.ExistFile(size)) { MallIO.DeleteFile(size); } } index++; } } #endregion result.success = true; result.msg = "操作成功"; } else { result.success = false; result.msg = "数据有误"; } return(Json(result)); }
public void UpdateHomeCategorySet(int rowNumber, IEnumerable <HomeCategorySet.HomeCategoryTopic> homeCategoryTopics) { if (rowNumber > HOME_CATEGORY_SET_COUNT || rowNumber < 0) { throw new ArgumentNullException("行号不在取值范围内!取值必须大于0且小于" + HOME_CATEGORY_SET_COUNT); } HomeCategoryRowInfo rowInfo; //var oldRowInfo = Context.HomeCategoryRowInfo.FindBy(item => item.RowId == rowNumber).FirstOrDefault(); var oldRowInfo = DbFactory.Default.Get <HomeCategoryRowInfo>().Where(item => item.RowId == rowNumber).FirstOrDefault(); if (oldRowInfo == null) { rowInfo = new HomeCategoryRowInfo() { RowId = rowNumber } } ; else { rowInfo = oldRowInfo; } int i = 0; string[] needToDeleteFiles = new string[2]; foreach (var item in homeCategoryTopics) { if (!string.IsNullOrWhiteSpace(item.Url) && !string.IsNullOrWhiteSpace(item.ImageUrl)) { if (i++ == 0) { if (rowInfo.Image1 != item.ImageUrl)//当图片有修改时,删除原图片 { needToDeleteFiles[0] = rowInfo.Image1; } rowInfo.Image1 = item.ImageUrl; rowInfo.Url1 = item.Url; } else { if (rowInfo.Image2 != item.ImageUrl)//当图片有修改时,删除原图片 { needToDeleteFiles[1] = rowInfo.Image2; } rowInfo.Image2 = item.ImageUrl; rowInfo.Url2 = item.Url; } if (!string.IsNullOrWhiteSpace(item.ImageUrl)) { TransferImages(item.ImageUrl); } } } if (oldRowInfo == null) { //Context.HomeCategoryRowInfo.Add(rowInfo); DbFactory.Default.Add(rowInfo); } //Context.SaveChanges(); //删除原图片 foreach (var file in needToDeleteFiles) { if (!string.IsNullOrWhiteSpace(file)) { MallIO.DeleteFile(file); } } }