Example #1
0
        public void Delete(ImageType imageType)
        {
            if (imageType == null)
            {
                throw new ArgumentNullException("imageType");
            }
            this.EventPublisher.PreAdd(imageType);

            ImageTypeProvider.Remove(imageType);

            this.EventPublisher.Added(imageType);
        }
Example #2
0
 public void Add(ImageType item)
 {
     var filepath = GetFilePath(item.Name);
     IOUtility.EnsureDirectoryExists(Path.GetDirectoryName(filepath));
     locker.EnterWriteLock();
     try
     {
         Serialization.Serialize<ImageType>(item, filepath);
     }
     finally
     {
         locker.ExitWriteLock();
     }
 }
Example #3
0
        public void Update(ImageType newImageType, ImageType oldImageType)
        {
            if (newImageType == null)
            {
                throw new ArgumentNullException("newImageType");
            }
            if (oldImageType == null)
            {
                throw new ArgumentNullException("oldImageType");
            }
            this.EventPublisher.PreAdd(newImageType);

            ImageTypeProvider.Update(newImageType, oldImageType);

            this.EventPublisher.Added(newImageType);
        }
Example #4
0
 public ImageType Get(ImageType dummy)
 {
     var filepath = GetFilePath(dummy.Name);
     if (File.Exists(filepath))
     {
         locker.EnterReadLock();
         try
         {
             var item = (ImageType)Serialization.Deserialize(dummy.GetType(), KnownTypes, filepath);
             return item;
         }
         finally
         {
             locker.ExitReadLock();
         }
     }
     return default(ImageType);
 }
Example #5
0
 public void Update(ImageType @new,ImageType old)
 {
     Remove(old);
     Add(@new);
 }
Example #6
0
 public void Remove(ImageType item)
 {
     locker.EnterWriteLock();
     try
     {
         var filepath = GetPath(item.Name);
         Kooboo.IO.IOUtility.DeleteDirectory(filepath,true);
     }
     finally
     {
         locker.ExitWriteLock();
     }
 }