public ChildAttachmentsProviderConfig(PhotoAttachmentModel parentAttachment)
        {
            Predicate = model =>
                        parentAttachment.ChildAttachmentDescriptors.Any(childDescriptor =>
                                                                        childDescriptor.ChildAttachmentId == model.Id);

            DecoratorTransform = PhotoDecoratorTransform;
        }
Exemple #2
0
 private PhotoAttachmentViewModel(PhotoAttachmentModel photoModel, bool isReadonly) : base(photoModel, isReadonly)
 {
     if (photoModel.PreviewDataBlob?.Any() ?? false)
     {
         DispatcherHelper.InvokeOnDispatcher(() =>
                                             //DispatcherHelper.BeginInvokeOnDispatcher(() =>
         {
             PreviewProvider.SetPreview(photoModel);
             Preview.SetPreviewSource(PreviewProvider.GetPreview(photoModel.Id));
         });
     }
 }
Exemple #3
0
        /// <summary>
        /// Сохранить в кэш данные превью фотографии.
        /// </summary>
        public static void SetPreview(PhotoAttachmentModel photoModel)
        {
            lock (Locker)
            {
                if (previewSources.ContainsKey(photoModel.Id))
                {
                    return;
                }

                string previewFilePath = Path.Combine(previewFolderPath, $"preview_{photoModel.Id}");
                File.WriteAllBytes(previewFilePath, photoModel.PreviewDataBlob);

                previewSources.Add(photoModel.Id,
                                   new BitmapImage(new Uri(previewFilePath, UriKind.Absolute))
                {
                    CacheOption   = BitmapCacheOption.None,
                    CreateOptions = BitmapCreateOptions.DelayCreation
                });
            }
        }
Exemple #4
0
 public static PhotoAttachmentViewModel CreateEditable(PhotoAttachmentModel photoModel)
 {
     return(new PhotoAttachmentViewModel(photoModel, false));
 }
Exemple #5
0
 public static PhotoAttachmentViewModel CreateReadonly(PhotoAttachmentModel photoModel)
 {
     return(new PhotoAttachmentViewModel(photoModel, true));
 }