示例#1
0
        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));
        }
示例#2
0
        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);
                }
            }
        }