public Result SaveData(long dataID, IEditFieldData efdata) { ImageEditFieldData data = (ImageEditFieldData)efdata; try { using (TransactionScope scope = new TransactionScope()) { DatabaseManager.DatabaseEngine.GetConnection(); if (data.SprocketFile != null) { data.SprocketFileID = data.SprocketFile.SprocketFileID = DatabaseManager.DatabaseEngine.GetUniqueID(); } Result r = ContentManager.Instance.DataProvider.StoreEditField_Image(dataID, data.SprocketFileID); if (r.Succeeded && data.SprocketFile != null) { r = FileManager.FileManager.DataLayer.Store(data.SprocketFile); } if (r.Succeeded) { scope.Complete(); } return(r); } } catch (Exception e) { return(new Result(e.Message)); } finally { DatabaseManager.DatabaseEngine.ReleaseConnection(); } }
public bool IsContentDifferent(IEditFieldData a, IEditFieldData b) { ImageEditFieldData d1 = (ImageEditFieldData)a; ImageEditFieldData d2 = (ImageEditFieldData)b; return(d1.SprocketFileID != d2.SprocketFileID || (d1.SprocketFileID == 0 && d2.SprocketFile != null) || (d2.SprocketFileID == 0 && d1.SprocketFile != null)); }
public Result ReadAdminField(out IEditFieldData efdata) { ImageEditFieldData data = new ImageEditFieldData(); SprocketFile file = null; if (HttpContext.Current.Request.Files[fieldName] != null) { if (HttpContext.Current.Request.Files[fieldName].ContentLength > 0) { file = new SprocketFile(SecurityProvider.ClientSpaceID, HttpContext.Current.Request.Files[fieldName], "", ""); Image img; Result r = file.ValidateImageData(out img); if (!r.Succeeded) { efdata = new ImageEditFieldData(); return(new Result("The image selected could not be loaded. The system reported back the following error: " + r.Message)); } if (maxwidth > 0 || maxheight > 0) { SizingOptions options = new SizingOptions(maxwidth, maxheight, SizingOptions.Display.Constrain, 0); options.Image = img; MemoryStream stream = new MemoryStream(); FileManager.FileManager.Instance.ResizeImage(options, stream); file.FileData = stream.ToArray(); } } } bool deleted = HttpContext.Current.Request.Form["deleteimage_" + fieldName] != null; long existing; if (!long.TryParse(HttpContext.Current.Request.Form["existingimage_" + fieldName], out existing)) { existing = 0; } if (deleted) { data.SprocketFileID = 0; } else if (file != null) { data.SprocketFile = file; } else { data.SprocketFileID = existing; } efdata = data; return(new Result()); }
public Result ReadAdminField(out IEditFieldData efdata) { ImageEditFieldData data = new ImageEditFieldData(); SprocketFile file = null; if (HttpContext.Current.Request.Files[fieldName] != null) if (HttpContext.Current.Request.Files[fieldName].ContentLength > 0) { file = new SprocketFile(SecurityProvider.ClientSpaceID, HttpContext.Current.Request.Files[fieldName], "", ""); Image img; Result r = file.ValidateImageData(out img); if (!r.Succeeded) { efdata = new ImageEditFieldData(); return new Result("The image selected could not be loaded. The system reported back the following error: " + r.Message); } if (maxwidth > 0 || maxheight > 0) { SizingOptions options = new SizingOptions(maxwidth, maxheight, SizingOptions.Display.Constrain, 0); options.Image = img; MemoryStream stream = new MemoryStream(); FileManager.FileManager.Instance.ResizeImage(options, stream); file.FileData = stream.ToArray(); } } bool deleted = HttpContext.Current.Request.Form["deleteimage_" + fieldName] != null; long existing; if (!long.TryParse(HttpContext.Current.Request.Form["existingimage_" + fieldName], out existing)) existing = 0; if (deleted) data.SprocketFileID = 0; else if (file != null) data.SprocketFile = file; else data.SprocketFileID = existing; efdata = data; return new Result(); }