public static bool ImageExists(string imgNameWithoutExt, out ImageEntity img) { if (string.IsNullOrEmpty(imgNameWithoutExt)) { throw new ArgumentNullException("imgNameWithoutExt"); } using (var dc = new MyDataContext()) { img = dc.ImageTable.FirstOrDefault(p => p.ImgNameWithoutExt == imgNameWithoutExt); return(img != null); } }
public static void InsertIfNotExist(ImageEntity imgEntity) { if (null == imgEntity) { throw new ArgumentNullException("imgEntity"); } using (var dc = new MyDataContext()) { var entity = dc.ImageTable.FirstOrDefault(i => i.Id == imgEntity.Id); if (null != entity) { return; } dc.ImageTable.InsertOnSubmit(imgEntity); dc.SafeSubmitChanges(); } }
public static void ModifyIfExist(ImageEntity entity) { if (null == entity) { throw new ArgumentNullException("entity"); } using (var dc = new MyDataContext()) { var pic = dc.ImageTable.FirstOrDefault(p => p.Id == entity.Id); if (null == pic) { return; } pic.ImgLocalSavePath = entity.ImgLocalSavePath; pic.BelongedNotePath = entity.BelongedNotePath; pic.ImgRemoteUrl = entity.ImgRemoteUrl; dc.SafeSubmitChanges(); } }
/// <summary> /// Download and save image to local. /// </summary> /// <param name="belongedNotePath">The path of belonged note.</param> /// <param name="imgNode">The image HtmlNode object.</param> /// <param name="imgRemoteUrl">The remote url of the image.</param> /// <param name="imgNameWithoutExt">The image name without extension.</param> /// <returns></returns> private string downloadAndSaveImageToLocal(string belongedNotePath, HtmlNode imgNode, string imgRemoteUrl, string imgNameWithoutExt) { Debug.WriteLine("Thread Id: " + Thread.CurrentThread.ManagedThreadId + " downloadAndSaveImageToLocal: " + imgRemoteUrl); var res = _api.DownloadAttach(imgRemoteUrl); var imgType = ImageUtil.GetImageType(res.Buffer); var localPath = "Images\\" + imgNameWithoutExt + "." + imgType; double width; if (imgNode.Attributes.Contains("width")) { if (Double.TryParse(imgNode.Attributes["width"].Value, out width)) { if (width > _screenWidth) { width = _screenWidth - 25; } } imgNode.Attributes["width"].Value = width.ToString(CultureInfo.InvariantCulture); } else { var actualSize = ImageUtil.GetImageSize(imgType, res.Buffer); width = actualSize.Width > _screenWidth ? _screenWidth - 25 : actualSize.Width; imgNode.Attributes.Add("width", width.ToString(CultureInfo.InvariantCulture)); } // Save to disk. var savePath = IsoStoreUtil.SaveToIsoStore(localPath, res.Buffer); // Save to db. var imageEntity = new ImageEntity(imgNameWithoutExt, imgType.ToString(), savePath, imgRemoteUrl, belongedNotePath); ImageDao.InsertIfNotExist(imageEntity); return savePath; }
public static bool ImageExists(string imgNameWithoutExt, out ImageEntity img) { if (string.IsNullOrEmpty(imgNameWithoutExt)) { throw new ArgumentNullException("imgNameWithoutExt"); } using (var dc = new MyDataContext()) { img = dc.ImageTable.FirstOrDefault(p => p.ImgNameWithoutExt == imgNameWithoutExt); return (img != null); } }
public static void ModifyIfExist(ImageEntity entity) { if (null == entity) { throw new ArgumentNullException("entity"); } using (var dc = new MyDataContext()) { var pic = dc.ImageTable.FirstOrDefault(p => p.Id == entity.Id); if (null == pic) return; pic.ImgLocalSavePath = entity.ImgLocalSavePath; pic.BelongedNotePath = entity.BelongedNotePath; pic.ImgRemoteUrl = entity.ImgRemoteUrl; dc.SafeSubmitChanges(); } }
public static void InsertIfNotExist(ImageEntity imgEntity) { if (null == imgEntity) { throw new ArgumentNullException("imgEntity"); } using (var dc = new MyDataContext()) { var entity = dc.ImageTable.FirstOrDefault(i => i.Id == imgEntity.Id); if (null != entity) return; dc.ImageTable.InsertOnSubmit(imgEntity); dc.SafeSubmitChanges(); } }