Example #1
0
 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);
     }
 }
Example #2
0
 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();
     }
 }
Example #3
0
        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();
            }
        }
Example #4
0
        /// <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;
        } 
Example #5
0
 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);
     }
 }
Example #6
0
        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();
            }
        }
Example #7
0
 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();
     }
 }