/// <summary>
        /// 统一处理图片上传(添加)
        /// </summary>
        /// <param name="commodity"></param>
        private void AddCommodityImg(YZ_Commodity commodity)
        {
            try
            {
                var images  = Request.Form.Files;
                var isCover = true;
                if (images != null)
                {
                    foreach (var image in images)
                    {
                        var    currImageName = image.FileName;
                        var    timeForFile   = (DateTime.Now.ToString("yyyyMMddHHmmss") + "-").Trim();
                        string extensionName = currImageName.Substring(currImageName.LastIndexOf("."));
                        var    imageName     = ContentDispositionHeaderValue
                                               .Parse(image.ContentDisposition)
                                               .FileName
                                               .Trim('"')
                                               .Substring(image.FileName.LastIndexOf("\\") + 1);
                        var newImageName = timeForFile + GetUser().Id + extensionName;
                        var boPath       = "../../images/UploadImages/" + ImageType.CommodityImgs.ToString() + "/" + newImageName;
                        var imagePath    = _hostingEnv.WebRootPath + $@"\images\UploadImages\{ImageType.CommodityImgs.ToString()}";
                        imageName = _hostingEnv.WebRootPath + $@"\images\UploadImages\{ImageType.CommodityImgs.ToString()}\{newImageName}";

                        Directory.CreateDirectory(imagePath); //创建目录
                        using (FileStream fs = System.IO.File.Create(imageName))
                        {
                            image.CopyTo(fs);
                            fs.Flush();
                        }
                        var commodityImg = new BusinessImage
                        {
                            Name              = string.Empty,
                            DisplayName       = string.Empty,
                            OriginalFileName  = string.Empty,
                            Description       = "这是闲置商品【" + commodity.Name + "】的图片",
                            RelevanceObjectId = commodity.Id,
                            UploaderId        = Guid.Parse(GetUser().Id),
                            UploadPath        = boPath,
                            PhysicalPath      = imageName,
                            FileSize          = image.Length,
                            Type              = isCover ? ImageType.CommodityCover : ImageType.CommodityImgs
                        };
                        _businessImage.AddAndSave(commodityImg);
                        isCover = false;
                    }
                }
            }
            catch (Exception)
            {
            }
        }
 public void MapToBo(YZ_Commodity bo)
 {
     bo.Id          = this.Id;
     bo.Name        = this.Name;
     bo.AddTime     = this.AddTime;
     bo.EditTime    = this.EditTime;
     bo.Description = this.Description;
     bo.Price       = this.Price;
     bo.Unit        = this.Unit;
     bo.Stock       = this.Stock;
     bo.State       = this.State;
     bo.Category    = this.Category;
     bo.Way         = Way;
     bo.Range       = Range;
     bo.IsBargain   = IsBargain;
 }
 public YZ_CommodityVM(YZ_Commodity bo)
 {
     this.Id             = bo.Id;
     this.Name           = bo.Name;
     this.AddTime        = bo.AddTime;
     this.EditTime       = bo.EditTime;
     this.Description    = bo.Description;
     this.SortCode       = bo.SortCode;
     this.Price          = bo.Price;
     this.Unit           = bo.Unit;
     this.Stock          = bo.Stock;
     this.State          = bo.State;
     this.Category       = bo.Category;
     this.AscriptionUser = bo.AscriptionUser;
     this.Images         = bo.Images;
     this.LookCount      = bo.LookCount;
     this.Way            = bo.Way;
     this.Range          = bo.Range;
     this.IsBargain      = bo.IsBargain;
 }
Exemple #4
0
 public YZ_BuyVM(YZ_Commodity bo)
 {
     Commodity = bo;
 }
        public async Task <JsonResult> AddOrEditCommodity([Bind("Id,IsNew,Name,Description,Price,Unit,Stock,State,Way,Range,IsBargain,CategoryId")] YZ_CommodityVM boVM)
        {
            var commodity = new YZ_Commodity();
            var category  = _commodityCategory.GetAll().FirstOrDefault(x => x.Id == boVM.CategoryId);

            if (boVM.IsNew)
            {
                var lookCount = new YZ_CommodityLookCount {
                    LookCount = 0
                };
                _commodityLookCount.AddAndSave(lookCount);
                commodity = new YZ_Commodity
                {
                    Name           = EncodeFilterHelper.EncodeHtml(boVM.Name),
                    Description    = EncodeFilterHelper.EncodeHtml(boVM.Description),
                    Unit           = EncodeFilterHelper.EncodeHtml(boVM.Unit),
                    State          = YZ_CommodityState.IsExamine,
                    Category       = category == null ? null : category,
                    Price          = boVM.Price,
                    Stock          = boVM.Stock,
                    LookCount      = lookCount,
                    AscriptionUser = GetUser(),
                    EditTime       = DateTime.Now,
                    IsBargain      = boVM.IsBargain,
                    Way            = boVM.Way,
                    Range          = boVM.Range
                };
            }
            else
            {
                commodity = await _commodity.GetSingleAsyn(boVM.Id);

                if (commodity != null)
                {
                    commodity.Name        = EncodeFilterHelper.EncodeHtml(boVM.Name);
                    commodity.Description = EncodeFilterHelper.EncodeHtml(boVM.Description);
                    commodity.Price       = boVM.Price;
                    commodity.Unit        = EncodeFilterHelper.EncodeHtml(boVM.Unit);
                    commodity.Stock       = boVM.Stock;
                    commodity.AddTime     = commodity.AddTime;
                    commodity.State       = boVM.State; //调试时不修改商品状态
                    commodity.Category    = category == null ? null : category;
                    commodity.EditTime    = DateTime.Now;
                    commodity.IsBargain   = boVM.IsBargain;
                    commodity.Way         = boVM.Way;
                    commodity.Range       = boVM.Range;
                }
            }
            //图片上传独立处理
            AddCommodityImg(commodity);
            var result = await _commodity.AddOrEditAndSaveAsyn(commodity);

            if (result)
            {
                if (boVM.IsNew)
                {
                    return(Json(new { result = true, message = "添加成功!" }));
                }
                else
                {
                    return(Json(new { result = true, message = "修改成功!" }));
                }
            }
            else
            {
                return(Json(new { result = false, message = "操作失败!" }));
            }
        }