コード例 #1
0
ファイル: BrandProvider.cs プロジェクト: ovaldi/Commerce
        public void Add(Brand obj)
        {
            EntityFileOperationResult result = this._entityFileProvider.SaveAs(obj.LogoFile);

            obj.Logo = result.VirtualPath;
            this.DbContext.Brands.Add(obj);
        }
コード例 #2
0
ファイル: EntityFileProvider.cs プロジェクト: ovaldi/Commerce
        public virtual EntityFileOperationResult SaveAs(EntityFile file)
        {
            EntityFileOperationResult result = new EntityFileOperationResult();

            string virtualPath  = Path.Combine(this._commerceDataDir.DataVirtualFolder, file.CommerceName, "Images", file.FileName);
            string physicalPath = Kooboo.Web.Url.UrlUtility.MapPath(virtualPath);

            byte[] data = new byte[file.Data.Length];
            file.Data.Read(data, 0, data.Length);

            FileStream fs = new FileStream(physicalPath, FileMode.Create);

            try
            {
                fs.Write(data, 0, data.Length);
                fs.Flush();
                fs.Close();
            }
            catch (Exception ex)
            {
                fs.Close();
                throw ex;
            }

            result.PhysicalPath = physicalPath;
            result.VirtualPath  = virtualPath;
            return(result);
        }
コード例 #3
0
ファイル: BrandProvider.cs プロジェクト: ovaldi/Commerce
 public void Update(Brand obj)
 {
     if (obj.LogoFile != null)
     {
         EntityFileOperationResult result = this._entityFileProvider.SaveAs(obj.LogoFile);
         obj.Logo = result.VirtualPath;
     }
     this.DbContext.Brands.Attach(obj);
     this.DbContext.Entry(obj).State = EntityState.Modified;
 }