Ejemplo n.º 1
0
 private void loadImage(PictureInfoDTO picture)
 {
     if (downloadingPictures.TryAdd(picture.PictureId, picture))
     {
         ServicePool.Add(new PictureDownloadingServiceCommand(picture, this));
     }
 }
Ejemplo n.º 2
0
 public void Notify(PictureInfoDTO info)
 {
     if (PictureLoaded != null)
     {
         PictureLoaded(this, new PictureInfoEventArgs(info));
     }
 }
Ejemplo n.º 3
0
 public void Fill(IHasPicture profile)
 {
     if (pictureLoaded)
     {
         return;
     }
     System.Drawing.Image image = null;
     if (profile != null && profile.Picture != null)
     {
         try
         {
             profile.Picture.SessionId = UserContext.Current.Token.SessionId;
             var pictureDto = ServiceManager.GetImage(profile.Picture);
             pictureInfo = pictureDto.GetPictureInfo();
             var cacheItem = pictureDto.ToPictureCacheItem();
             PicturesCache.Instance.AddToCache(cacheItem);
             image        = cacheItem.Image;
             ErrorOccured = false;
         }
         catch (FileNotFoundException ex)
         {
             ErrorOccured = true;
             ExceptionHandler.Default.Process(ex);
             setText(Strings.PhotoDoesntExist);
         }
     }
     setControls(image);
     pictureLoaded = true;
 }
Ejemplo n.º 4
0
        public PictureDTO GetImage(PictureInfoDTO pictureInfo)
        {
            var            securityInfo   = SecurityManager.EnsureAuthentication(pictureInfo);
            PictureService pictureService = new PictureService(Session, securityInfo, Configuration);

            return(pictureService.GetImage(pictureInfo));
        }
Ejemplo n.º 5
0
        public void Fill(PictureInfoDTO picture)
        {
            this.picture = picture;
            if (picture == null || picture == PictureInfoDTO.Empty)
            {
                imgImage.Source = DefaultProfile;
                return;
            }

            else
            {
                var cacheItem = PicturesCache.Instance.GetImage(picture);
                if (cacheItem == null)
                {
                    imgImage.Source = DefaultProfile;
                }
                else
                {
                    if (cacheItem.Image == null)
                    {
                        imgImage.Source = DefaultProfile;
                    }
                    else
                    {
                        imgImage.Source = cacheItem.Image;
                    }
                }
            }
        }
Ejemplo n.º 6
0
 public void DeletePictureLogic(Picture oldPicture, PictureInfoDTO newPicture)
 {
     if (oldPicture != null && (newPicture == null || (newPicture.Hash != oldPicture.Hash && newPicture.PictureId != oldPicture.PictureId)))
     {
         PictureService pictureService = new PictureService(Session, SecurityInfo, Configuration);
         pictureService.DeletePicture(oldPicture);
     }
 }
Ejemplo n.º 7
0
 private void loadImage(PictureInfoDTO picture)
 {
     if (!downloadingPictures.ContainsKey(picture.PictureIdk__BackingField))
     {
         downloadingPictures.Add(picture.PictureIdk__BackingField, picture);
         ServicePool.Add(new PictureDownloadingServiceCommand(picture));
     }
 }
Ejemplo n.º 8
0
        public PictureCacheItem GetImage(PictureInfoDTO pictureInfo)
        {
            PictureCacheItem picture = (PictureCacheItem)Cache.GetData(pictureInfo.PictureId.ToString());

            if (picture == null || (picture.Image != null && picture.Hash != pictureInfo.Hash))
            {
                loadImage(pictureInfo);
            }
            return(picture);
        }
Ejemplo n.º 9
0
        public PictureCacheItem GetImage(PictureInfoDTO pictureInfo)
        {
            PictureCacheItem picture = (PictureCacheItem)CacheManager.PictureCache.Get(pictureInfo.PictureIdk__BackingField.ToString());

            if (picture == null || (picture.Image != null && picture.Hash != pictureInfo.Hashk__BackingField))
            {
                loadImage(pictureInfo);
            }
            return(picture);
        }
Ejemplo n.º 10
0
 public static PictureDTO GetImage(PictureInfoDTO pictureInfo)
 {
     return(exceptionHandling(delegate
     {
         BodyArchitect.WCF.Automatic.PictureInfoDTO info =
             new Automatic.PictureInfoDTO();
         info.Hash = pictureInfo.Hash;
         info.PictureId = pictureInfo.PictureId;
         info.SessionId = Token.SessionId;
         var result = Instance.GetImage(info);
         PictureDTO dto = new PictureDTO(pictureInfo);
         dto.ImageStream = result.ImageStream;
         dto.PictureId = result.PictureId;
         dto.Hash = result.Hash;
         return dto;
     }));
 }
Ejemplo n.º 11
0
        public static PictureInfoDTO UploadImage(PictureDTO picture)
        {
            return(exceptionHandling(delegate
            {
                var dto = new Automatic.PictureDTO();
                dto.ImageStream = picture.ImageStream;
                dto.PictureId = picture.PictureId;
                dto.Hash = picture.Hash;
                dto.SessionId = picture.SessionId;
                var result = Instance.UploadImage(dto);

                PictureInfoDTO info = new PictureInfoDTO(picture);
                info.Hash = result.Hash;
                info.PictureId = result.PictureId;
                return info;
            }));
        }
Ejemplo n.º 12
0
        public PictureDTO GetImage(PictureInfoDTO pictureInfo)
        {
            Log.WriteWarning("GetImage:Username={0},PictureId:{1}", SecurityInfo.SessionData.Profile.UserName, pictureInfo.PictureId);

            string filePath = System.IO.Path.Combine(Configuration.ImagesFolder, pictureInfo.PictureId.ToString());

            if (!System.IO.File.Exists(filePath))
            {
                throw new FileNotFoundException("Image file not found");
            }
            PictureDTO   dto          = new PictureDTO(pictureInfo.PictureId, pictureInfo.Hash);
            MemoryStream memoryStream = new MemoryStream();

            using (var fileStream = File.OpenRead(filePath))
            {
                fileStream.CopyTo(memoryStream);
            }
            memoryStream.Seek(0, SeekOrigin.Begin);
            dto.ImageStream = memoryStream;
            Log.WriteInfo("Picture retrieved");
            return(dto);
        }
Ejemplo n.º 13
0
        public PictureInfoDTO UploadImage(PictureDTO pictureDto)
        {
            Log.WriteWarning("UploadImage:Username={0},pictureId: {1}", SecurityInfo.SessionData.Profile.UserName, pictureDto.PictureId);
            var pictureId = pictureDto.PictureId != Guid.Empty ? pictureDto.PictureId : Guid.NewGuid();

            // create output folder, if does not exist)
            if (!System.IO.Directory.Exists(Configuration.ImagesFolder))
            {
                System.IO.Directory.CreateDirectory(Configuration.ImagesFolder);
            }

            // delete target file, if already exists
            string filePath = System.IO.Path.Combine(Configuration.ImagesFolder, pictureId.ToString());

            if (System.IO.File.Exists(filePath))
            {
                System.IO.File.Delete(filePath);
            }

            MemoryStream memoryStream = new MemoryStream();

            pictureDto.ImageStream.CopyTo(memoryStream);

            using (System.IO.FileStream writeStream = new System.IO.FileStream(filePath, System.IO.FileMode.CreateNew, System.IO.FileAccess.ReadWrite))
            {
                memoryStream.Seek(0, SeekOrigin.Begin);
                memoryStream.CopyTo(writeStream);
                writeStream.Close();
            }
            memoryStream.Seek(0, SeekOrigin.Begin);
            string hash = CryptographyHelper.GetMD5HashFromFile(memoryStream);

            var pictureInfo = new PictureInfoDTO(pictureId, hash);

            return(pictureInfo);
        }
Ejemplo n.º 14
0
 public PictureInfoEventArgs(PictureInfoDTO pictureInfo)
 {
     PictureInfo = pictureInfo;
 }
 public PictureDTO GetImage(PictureInfoDTO pictureInfo)
 {
     return(exceptionHandling(null, () => InternalService.GetImage(pictureInfo)));
 }
Ejemplo n.º 16
0
 public PictureDTO GetImage(PictureInfoDTO pictureInfo)
 {
     throw new NotImplementedException();
 }
 public PictureDownloadingServiceCommand(PictureInfoDTO picture, PicturesCache cache)
 {
     this.picture = picture;
     this.cache   = cache;
 }
Ejemplo n.º 18
0
 private void loadImage(PictureInfoDTO picture)
 {
     ServicePool.Add(new PictureDownloadingServiceCommand(picture, this));
 }
 public PictureDownloadingServiceCommand(PictureInfoDTO picture)
 {
     this.picture = picture;
 }